{"msg":"Running step start_crdb","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:36.380367161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"Starting CRDB","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:36.380598601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"cockroach temporary directory: /var/tmp/omicron_tmp/.tmpuTclC4","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:36.403117275Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"cockroach: copying from seed tarball (/var/tmp/omicron_tmp/crdb-base-build/632517f0bcf5c55168999095478544038bedd634bb23cd0d9d98a25dfb971f70.tar) to storage directory (/var/tmp/omicron_tmp/.tmpuTclC4/data)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:36.403144905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"cockroach command line: cockroach start-single-node --insecure --http-addr=:0 --store=path=/var/tmp/omicron_tmp/.tmpuTclC4/data,ballast-size=0 --listen-addr [::1]:0 --listening-url-file /var/tmp/omicron_tmp/.tmpuTclC4/listen-url --max-sql-memory 256MiB","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:36.570028071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"cockroach environment: BUILDOMAT_JOB_ID=01KTSP8H7M87EQN3P6P7CWZQTC BUILDOMAT_TASK_ID=4 CARGO=/home/build/.rustup/toolchains/1.94.0-x86_64-unknown-illumos/bin/cargo CARGO_HOME=/home/build/.cargo CARGO_INCREMENTAL=0 CARGO_MANIFEST_DIR=/work/oxidecomputer/omicron/nexus CARGO_PKG_AUTHORS= CARGO_PKG_DESCRIPTION= CARGO_PKG_HOMEPAGE= CARGO_PKG_LICENSE=MPL-2.0 CARGO_PKG_LICENSE_FILE= CARGO_PKG_NAME=omicron-nexus CARGO_PKG_REPOSITORY= CARGO_PKG_RUST_VERSION= CARGO_PKG_VERSION=0.1.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE= CARGO_TERM_COLOR=always CI=true CRDB_SEED_TAR=/var/tmp/omicron_tmp/crdb-base-build/632517f0bcf5c55168999095478544038bedd634bb23cd0d9d98a25dfb971f70.tar GITHUB_BRANCH=eliza/omicron-git-version GITHUB_REF=refs/heads/eliza/omicron-git-version GITHUB_REPOSITORY=oxidecomputer/omicron GITHUB_SHA=a7317301a3804510a5e65878f40396ed0f4dd014 GOTRACEBACK=crash HOME=/home/build LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LD_LIBRARY_PATH=/work/oxidecomputer/omicron/target/debug/build/aws-lc-sys-fd2399a9b192b759/out:/work/oxidecomputer/omicron/target/debug/build/blake3-f02198cbc3604091/out:/work/oxidecomputer/omicron/target/debug/build/bzip2-sys-8d5ec0b3ef58e788/out/lib:/work/oxidecomputer/omicron/target/debug/build/libgit2-sys-c0841d6fb37ee677/out/build:/work/oxidecomputer/omicron/target/debug/build/psm-864157730925f2ec/out:/work/oxidecomputer/omicron/target/debug/build/ring-69178f5f405916b0/out:/work/oxidecomputer/omicron/target/debug/build/tofino-d1f5c5e62c5186d2/out:/work/oxidecomputer/omicron/target/debug/build/zstd-sys-2eff88127f6082d9/out:/work/oxidecomputer/omicron/target/debug/deps:/work/oxidecomputer/omicron/target/debug:/home/build/.rustup/toolchains/1.94.0-x86_64-unknown-illumos/lib/rustlib/x86_64-unknown-illumos/lib:/home/build/.rustup/toolchains/1.94.0-x86_64-unknown-illumos/lib LOGNAME=build NEXTEST=1 NEXTEST_ATTEMPT=1 NEXTEST_ATTEMPT_ID=8715faae-23bd-4642-aaec-4702328099eb:omicron-nexus$app::sagas::instance_start::test::test_action_failure_can_unwind NEXTEST_BINARY_ID=omicron-nexus NEXTEST_EXECUTION_MODE=process-per-test NEXTEST_LD_LIBRARY_PATH=/work/oxidecomputer/omicron/target/debug/build/aws-lc-sys-fd2399a9b192b759/out:/work/oxidecomputer/omicron/target/debug/build/blake3-f02198cbc3604091/out:/work/oxidecomputer/omicron/target/debug/build/bzip2-sys-8d5ec0b3ef58e788/out/lib:/work/oxidecomputer/omicron/target/debug/build/libgit2-sys-c0841d6fb37ee677/out/build:/work/oxidecomputer/omicron/target/debug/build/psm-864157730925f2ec/out:/work/oxidecomputer/omicron/target/debug/build/ring-69178f5f405916b0/out:/work/oxidecomputer/omicron/target/debug/build/tofino-d1f5c5e62c5186d2/out:/work/oxidecomputer/omicron/target/debug/build/zstd-sys-2eff88127f6082d9/out:/work/oxidecomputer/omicron/target/debug/deps:/work/oxidecomputer/omicron/target/debug:/home/build/.rustup/toolchains/1.94.0-x86_64-unknown-illumos/lib/rustlib/x86_64-unknown-illumos/lib:/home/build/.rustup/toolchains/1.94.0-x86_64-unknown-illumos/lib NEXTEST_PROFILE=ci NEXTEST_RECOMMENDED_VERSION=0.9.131 NEXTEST_REQUIRED_VERSION=0.9.131 NEXTEST_RUN_ID=8715faae-23bd-4642-aaec-4702328099eb NEXTEST_RUN_MODE=test NEXTEST_STATE_DIR=/tmp/nextest-state.QHaO7s NEXTEST_STRESS_CURRENT=none NEXTEST_STRESS_TOTAL=none NEXTEST_TEST_GLOBAL_SLOT=11 NEXTEST_TEST_GROUP=@global NEXTEST_TEST_GROUP_SLOT=none NEXTEST_TEST_NAME=app::sagas::instance_start::test::test_action_failure_can_unwind NEXTEST_TEST_PHASE=run NEXTEST_TEST_THREADS=30 NEXTEST_TOTAL_ATTEMPTS=3 NEXTEST_VERSION=0.9.131 NEXTEST_WORKSPACE_ROOT=/work/oxidecomputer/omicron OUT_DIR=/work/oxidecomputer/omicron/target/debug/build/omicron-nexus-807b408ef004c379/out PATH=/work/oxidecomputer/omicron/out/mgd/root/opt/oxide/mgd/bin:/work/oxidecomputer/omicron/out/dendrite-stub/bin:/work/oxidecomputer/omicron/out/clickhouse:/work/oxidecomputer/omicron/out/cockroachdb/bin:/home/build/.cargo/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/ooce/bin:/opt/ooce/sbin PWD=/work/oxidecomputer/omicron RUSTC_BOOTSTRAP=1 RUSTDOCFLAGS=--document-private-items -D warnings RUSTFLAGS=--cfg tokio_unstable -D warnings -C link-arg=-R/usr/platform/oxide/lib/amd64 RUSTUP_HOME=/home/build/.rustup RUSTUP_TOOLCHAIN=1.94.0-x86_64-unknown-illumos RUSTUP_TOOLCHAIN_SOURCE=toolchain-file RUST_BACKTRACE=1 RUST_RECURSION_COUNT=1 SHLVL=1 SSL_CERT_DIR=/usr/ssl/certs SSL_CERT_FILE=/etc/ssl/cacert.pem TMPDIR=/var/tmp/omicron_tmp TZ=UTC USER=build _=/usr/bin/ptime","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:36.570159971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"cockroach pid: 10407","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:37.691517624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"cockroach listen URL: postgresql://root@[::1]:54443/omicron?sslmode=disable","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:37.691616074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"Running step start_clickhouse","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:37.702631091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"Starting Clickhouse","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:37.702690861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"Running step start_internal_dns","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:38.206481111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"opening sled database","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.206680071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","path":"/var/tmp/omicron_tmp/.tmp2Qpibw"} {"msg":"pruning trees for generations newer than 0","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.245711791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server"} {"msg":"pruning trees for generations older than 0","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.245770281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","keep":3} {"msg":"DNS server bound to address","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.245918441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"dns","kind":"dns","component":"internal_dns_server","local_address":"[::1]:58704"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:38.246407352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server","versions":"all starting from 2.0.0","path":"/config","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:38.246506142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server","versions":"from 1.0.0 to 2.0.0","path":"/config","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:38.246522862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server","versions":"all starting from 2.0.0","path":"/config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:38.246536732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server","versions":"from 1.0.0 to 2.0.0","path":"/config","method":"PUT"} {"msg":"listening","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.246551862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server"} {"msg":"successfully registered DTrace USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:38.246901833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server"} {"msg":"Running step start_external_dns","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:38.246968483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"opening sled database","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.247067023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"external_dns_server","path":"/var/tmp/omicron_tmp/.tmpe5A0Ci"} {"msg":"pruning trees for generations newer than 0","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.252750101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"external_dns_server"} {"msg":"pruning trees for generations older than 0","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.252772022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"external_dns_server","keep":3} {"msg":"DNS server bound to address","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.252784102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"dns","kind":"dns","component":"external_dns_server","local_address":"[::1]:56122"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:38.252877862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:47803","component":"http","kind":"dns","component":"external_dns_server","versions":"all starting from 2.0.0","path":"/config","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:38.252896002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:47803","component":"http","kind":"dns","component":"external_dns_server","versions":"from 1.0.0 to 2.0.0","path":"/config","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:38.252912022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:47803","component":"http","kind":"dns","component":"external_dns_server","versions":"all starting from 2.0.0","path":"/config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:38.252928832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:47803","component":"http","kind":"dns","component":"external_dns_server","versions":"from 1.0.0 to 2.0.0","path":"/config","method":"PUT"} {"msg":"listening","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.252943342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:47803","component":"http","kind":"dns","component":"external_dns_server"} {"msg":"successfully registered DTrace USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:38.253320292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:47803","component":"http","kind":"dns","component":"external_dns_server"} {"msg":"Running step start_nexus_internal","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:38.253490783Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"Starting Nexus (internal API)","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:38.253540143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"setting up nexus server","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.253758973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.254890565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.254951145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.254973515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255012295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255046475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255059645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255073665Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255088605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255101315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255116245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255128605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255143265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255161815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255175525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255188245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255201895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255214585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255227765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255240655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255252695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255266035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255278845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255293725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255306395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255321715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255333725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255348165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255633526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255648536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255662126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255674436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255688026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255700506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255714326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255726626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255740846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255760656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255772516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255786796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255798956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255813786Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255833446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255846576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255858406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255871536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255883666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255896626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255909476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255922126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255960706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255974846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.255988266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256001796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256017126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256030896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256046007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256057937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256071927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256085157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256097607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256110877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256123137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256136977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256149447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256162467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256174437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256187907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256199917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256214587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256226297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256240797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256254007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256265677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256278657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256290437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256303467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.256384097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"Setting up resolver using DNS address: [::1]:58704","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.270114738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"new DNS resolver","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.270166878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","addresses":"[[::1]:58704]"} {"msg":"Setting up qorb database pool from a single host","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:38.270681469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","url":"PostgresConfigWithUrl {\n url_raw: \"postgresql://root@[::1]:54443/omicron?sslmode=disable\",\n config: Config {\n user: Some(\n \"root\",\n ),\n password: None,\n dbname: Some(\n \"omicron\",\n ),\n options: None,\n application_name: None,\n ssl_mode: Disable,\n host: [\n Tcp(\n \"::1\",\n ),\n ],\n hostaddr: [],\n port: [\n 54443,\n ],\n connect_timeout: None,\n tcp_user_timeout: None,\n keepalives: true,\n keepalives_idle: 7200s,\n keepalives_interval: None,\n keepalives_retries: None,\n target_session_attrs: Any,\n channel_binding: Prefer,\n load_balance_hosts: Disable,\n },\n}"} {"msg":"registered USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:38.2716558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Database schema version is up to date","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:39.945296917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"desired_version":"264.0.0","found_version":"264.0.0","component":"datastore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"No db_metadata_nexus records exist - skipping access check","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:39.963516675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"datastore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","explanation":"This is expected during initial deployment or before migration","nexus_id":"913233fe-92a8-4635-9572-183f495429c4 (omicron_zone)"} {"msg":"Datastore is ready for usage","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:39.963627355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"registered USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.034000823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"ec77f3b6-8d41-440d-9d24-6b00a3230bef","component":"clickhouse-client","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132204923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/crucible/0/upstairs/{upstairs_id}/downstairs/{downstairs_id}/stop-request","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132330933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/crucible/0/upstairs/{upstairs_id}/downstairs/{downstairs_id}/stopped","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132370353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/crucible/0/upstairs/{upstairs_id}/repair/{repair_id}/progress","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132395013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/crucible/0/upstairs/{upstairs_id}/repair-finish","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132416414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/crucible/0/upstairs/{upstairs_id}/repair-start","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132433024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/disk/{disk_id}/remove-read-only-parent","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132452574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/disks/{disk_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132474674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/metrics/collectors","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132491524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/metrics/collectors/{collector_id}/producers","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132511254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/metrics/producers","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132530124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/nat/ipv4/changeset/{from_gen}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132549324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/probes/{sled}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132566114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/refresh-vpc-routes","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132587894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/sled-agents/{sled_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132610684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/sled-agents/{sled_id}","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132629124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/switch/{switch_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132653304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/ping","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132673394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/vmms/{propolis_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132692504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/volume/{volume_id}/remove-read-only-parent","method":"POST"} {"msg":"listening","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:40.132712884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"successfully registered DTrace USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.132814784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.135688139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/bgtasks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.135762849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/bgtasks/activate","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.135783439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/bgtasks/view/{bgtask_name}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.135800319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/clickhouse/policy","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.135823519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/clickhouse/policy","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.135845009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/debug/fetch-omdb-binary","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.135862179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/demo-saga","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.135884499Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/demo-saga/{demo_saga_id}/complete","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.135908799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/deployment/blueprints/all","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.135926189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/deployment/blueprints/all/{blueprint_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.135945049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/deployment/blueprints/all/{blueprint_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.135964999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/deployment/blueprints/import","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.135986029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/deployment/blueprints/regenerate","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136003859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/deployment/blueprints/target","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136023659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/deployment/blueprints/target","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136044559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/deployment/blueprints/target/enabled","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136062059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/deployment/reconfigurator-config","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136083259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/deployment/reconfigurator-config","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136104959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/deployment/reconfigurator-config/{version}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136124649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/deployment/update-status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136141769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136163759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136186659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136207079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136224399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136243579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}/download","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136264409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}/download","method":"HEAD"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136285329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}/download/{file}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136304739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}/download/{file}","method":"HEAD"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.136327919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}/index","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.13634852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/fm/known-ereport-classes","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.13636893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/instances/{instance_id}/migrate","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.1363856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/mgs-updates","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.1364063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/oximeter/read-policy","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.13642583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/oximeter/read-policy","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.13644513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/physical-disk/expunge","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.13646498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/quiesce","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.13648385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/quiesce","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.13650129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/racks/{rack_id}/initialization-complete","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.13653243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/sagas","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.13654915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/sagas/{saga_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.13656777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/sleds/expunge","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.13658634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/sleds/uninitialized","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.13660522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/trust-quorum/config/{rack_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.13662192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/trust-quorum/lrtq-upgrade","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.1366384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/trust-quorum/remove/{sled}","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.13665591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/ping","method":"GET"} {"msg":"listening","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:40.13667557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"successfully registered DTrace USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.13669091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:42712","component":"dropshot_lockstep","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"SEC running","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:40.136705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.138058082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.138162072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.140985817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"attempting to create built-in users","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.141120777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.141677748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.141708338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.141994938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"starting MgsUpdateDriver","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:40.26102386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"MgsUpdateDriver","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.266482258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:52127","req_id":"6cdfc9b4-050c-41a2-8081-d3155497f79b","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: f1 68 01 00 00 01 00 00 00 00 00 01 04 5f 6d 67 .h..........._mg\n0010: 73 04 5f 74 63 70 0d 63 6f 6e 74 72 6f 6c 2d 70 s._tcp.control-p\n0020: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0030: 6e 61 6c 00 00 21 00 01 00 00 29 04 d0 00 00 00 nal..!....).....\n0040: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.26733424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:52127","req_id":"6cdfc9b4-050c-41a2-8081-d3155497f79b","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 61800,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 115,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 61800,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 115,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n} SERVFAIL: server is not authoritative for name: \"_mgs._tcp.control-plane.oxide.internal.\"","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:40.267850521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:52127","req_id":"6cdfc9b4-050c-41a2-8081-d3155497f79b","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.268060421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:59869","req_id":"58fc67ec-cb8e-47ab-a04d-2caf8b608494","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 74 (0x4a) bytes\n0000: 64 22 01 00 00 01 00 00 00 00 00 01 0b 5f 72 65 d\"..........._re\n0010: 70 6f 2d 64 65 70 6f 74 04 5f 74 63 70 0d 63 6f po-depot._tcp.co\n0020: 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 ntrol-plane.oxid\n0030: 65 08 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 e.internal..!...\n0040: 00 29 04 d0 00 00 00 00 00 00 .)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.268088891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:59869","req_id":"58fc67ec-cb8e-47ab-a04d-2caf8b608494","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 25634,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_repo-depot._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_repo-depot._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 11,\n 95,\n 114,\n 101,\n 112,\n 111,\n 45,\n 100,\n 101,\n 112,\n 111,\n 116,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 25634,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_repo-depot._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_repo-depot._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 11,\n 95,\n 114,\n 101,\n 112,\n 111,\n 45,\n 100,\n 101,\n 112,\n 111,\n 116,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n} SERVFAIL: server is not authoritative for name: \"_repo-depot._tcp.control-plane.oxide.internal.\"","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:40.268284321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:59869","req_id":"58fc67ec-cb8e-47ab-a04d-2caf8b608494","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.268302401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:52898","req_id":"c9afce17-f4a0-41c7-9d11-72b0a90e0172","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 79 (0x4f) bytes\n0000: c7 90 01 00 00 01 00 00 00 00 00 01 10 5f 63 72 ............._cr\n0010: 75 63 69 62 6c 65 2d 70 61 6e 74 72 79 04 5f 74 ucible-pantry._t\n0020: 63 70 0d 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 cp.control-plane\n0030: 05 6f 78 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 .oxide.internal.\n0040: 00 21 00 01 00 00 29 04 d0 00 00 00 00 00 00 .!....)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.268326151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:52898","req_id":"c9afce17-f4a0-41c7-9d11-72b0a90e0172","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 51088,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_crucible-pantry._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_crucible-pantry._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 16,\n 95,\n 99,\n 114,\n 117,\n 99,\n 105,\n 98,\n 108,\n 101,\n 45,\n 112,\n 97,\n 110,\n 116,\n 114,\n 121,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 51088,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_crucible-pantry._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_crucible-pantry._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 16,\n 95,\n 99,\n 114,\n 117,\n 99,\n 105,\n 98,\n 108,\n 101,\n 45,\n 112,\n 97,\n 110,\n 116,\n 114,\n 121,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n} SERVFAIL: server is not authoritative for name: \"_crucible-pantry._tcp.control-plane.oxide.internal.\"","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:40.268462522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:52898","req_id":"c9afce17-f4a0-41c7-9d11-72b0a90e0172","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"created 6 built-in users","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:40.271908717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.272102617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.272128177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.27403766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"attempting to create built-in role assignments","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.27407593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.27409018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.27410823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.274361051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"created 5 built-in role assignments","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:40.385762931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.385922651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.385976021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.387650024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"attempting to create built-in silos","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.387732674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.387748374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.387766444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.387946444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"created 2 built-in silos","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:40.456048978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.456131628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.456154978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.456645889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.468836218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.468911058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.47046336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"attempting to create built-in projects","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.47052001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.47053704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.47055668Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.470645451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.47647286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.47666091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.47674601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.47680109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.477338101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.513452506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.513508246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.513534346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.514051737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.516636871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.519014445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.519089315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.519131515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.519151835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.519170685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.519392515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.52251017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.52254015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.52255731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.522980771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.525921535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.527884208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.527961378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.527982118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.528085508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"created built-in services project","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:40.539120185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.539167735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.539190415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.540591388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"attempting to create built-in VPCs","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.540632028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.540649278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.540668708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.540840358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.543432662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.543476452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.544358823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.546425966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.546476787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.546499837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.546519577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.546877977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.549414621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.549442721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.549461641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.549924112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.551999635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.552029445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.552050835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.552474246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.554667619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.559872337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"Project\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.559932857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.559999897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.560028457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.560048677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.560068377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.560484758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.562645241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.562678241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.562698411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.562986062Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.573527408Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.573580388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.573600028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.573948169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.578982616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.604958116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.605108826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.605128316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.608219061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.632148988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.632210898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.632233068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.632252208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.632676008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.643296905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.643360765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.643381675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.645149837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.658371188Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.658404798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.658423498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.658903698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.682321304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.689732066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.689806296Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.689824836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.690946137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.696503056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.696563026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.697283657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.709701796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.709762936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.710144787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.715524815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.715583045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.715602525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.715619815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.716256386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.719340101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.719388941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.719408171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.727197293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.730818998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.730863898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.730904499Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.731518669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.733376062Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.74470526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.74482578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.74484613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.74518845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.777270729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.777336649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.777358489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.777377099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.778715551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.783603848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.783648878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.783668248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.78454368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.789911078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.789940888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.789958808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.790412109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.792601972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.803375608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.803414439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.803430719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.803730249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.857195811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.857912232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.857946562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.857983392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.858651333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.873168245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.873230485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.873251385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.873640386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.890518392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.890573302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.890592832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.89617202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.910225572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.924088703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.924156113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.924202323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.92848688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"attempting to create built-in VPC firewall rules","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.933221197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.933335857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.933382447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.933876518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.939323276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.939377546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.941361979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.944379884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.944420044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.945369496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.958462446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.958517316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.958536196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.958552376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.959332747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.971787696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.971841986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.971859606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.972323367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.985450927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.985491887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.985512217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.985923918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.988464121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.996212813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"Vpc\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.996283253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.996298763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.996321563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.996339703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.996356734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.996611704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.998918697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:40.998966577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.998989948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:40.999276088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.003006734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.003064794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.003178474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.004585136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.00688315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.019870659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.01993484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.01995521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.0204626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.027136451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.027181151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.027265701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.027286891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.028490553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.041395432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.041458282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.041477902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.041918823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.04654468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.046731941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.046754861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.047210661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.057357827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.067684573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.067783333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.067804013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.068345404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"created built-in VPC firewall rules","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:41.156040648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to create built-in VPC Subnets","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.156091418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.156107068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.156148678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.156881369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.160254484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.160294534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.160877635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.166693744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.166877294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.167463685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.169959089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.169992829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.170012319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.170030889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.17042874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.174908886Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.174949347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.174967157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.175412047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.177811971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.177858901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.177877551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.178149411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.181645697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.197396231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"Vpc\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.197439971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.197500861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.197521271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.197858532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.203861831Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.203923621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.203944151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.203962421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.204646032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.213276975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.213328635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.213346865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.214187767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.220042055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.220101716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.220122136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.220503246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.223429261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.23630766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.241207118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.241266218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.241288368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.241307798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.24284179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.246725996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.246774766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.246793626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.247222537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.254492058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.254547788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.254566788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.254948089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.258876505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.269563511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.270178562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.270204562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.270714403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.31431796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.31436926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.31486434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.317805955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.317859455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.317880185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.317900165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.318351506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.321815261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.321860691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.321880881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.322268312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.324408595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.324441445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.324627625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.324994226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.326988469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.33444195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.339923359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.339981219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.340002949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.340021479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.34040844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.342874123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.342921653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.342941633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.343857925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.362908694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.362948624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.362966734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.363822215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.369075593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.381484232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.381632683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.381653993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.382245843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.398857229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.398911779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.400479061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.409193895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.409249815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.409269765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.409288665Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.410040716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.412101559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.412160239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.412181899Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.4125028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.422432285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.422558945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.422612335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.426871262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.431621619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.441608124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.44554464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.44563097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.44565197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.44567002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.446103551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.447827364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.447886754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.447906184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.448345925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.452437511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.452491871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.452512411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.452805421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.454552984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.461737505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-074c-4000-8000-000000000001, lookup_type: ById(001de000-074c-4000-8000-000000000001) }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.461787935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.461809775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.464457519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.474810995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.474897065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.475520076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"created built-in services vpc subnets","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:41.482875457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"created built-in services vpc","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:41.482917087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.482934977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.482953887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.492591692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"attempting to create silo users","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.492644862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.492910813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.492968903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.516940409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"created 2 silo users","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:41.542194068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to create silo user role assignments","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.542274818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.542291458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.542312278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.542953469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"created 2 silo user role assignments","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:41.547001725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.547051895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.547072435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.547619526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.555010658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.555061068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.555837269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.561738278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.561785748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.561805778Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.561824918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.564231662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.566379965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.571117692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.571154512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.571173682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.571514633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.677094164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.677145234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.677164274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.677180834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.678045156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.690032294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.693532139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.69364207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.69366127Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.6938354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DataLoader","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000001 (built_in_user), .. })"} {"msg":"populate complete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:41.697487315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.698037806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"BlueprintConfig","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.698261597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.698308997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.698349447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.699870019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"Running step start_gateway_switch0","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.702820334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"Starting Management Gateway","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.702860494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.732053088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.735233333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"BlueprintConfig","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.735270663Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.735288253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.735529974Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating background tasks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:41.741295002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.750151686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"reading DNS version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.750292256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"internal","background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.750316746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.750338236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.751671158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.755986514Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_servers_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.756037864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_nameservice._tcp.control-plane.oxide.internal"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.757384816Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"DNS propagation: skipped","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:41.757468336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reason":"no config nor servers"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.757568156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"no config nor servers\"}","iteration":1,"elapsed":"158.85µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.757724897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"reading DNS version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.757747957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"external","background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.757764237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.757784057Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.758748528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.759324249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_servers_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.759369729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_external-dns._tcp.control-plane.oxide.internal"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.759516719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"DNS propagation: skipped","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:41.759541659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reason":"no config nor servers"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.759559119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"no config nor servers\"}","iteration":1,"elapsed":"25.21µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.759578569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"metrics_producer_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"Metric producer GC running","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:41.75966016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"metrics_producer_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","expiration":"2026-06-10 21:24:41.759585960 UTC"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.75982026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"metrics_producer_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.75984301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"metrics_producer_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.76021482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"metrics_producer_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.760869061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.760949232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.760990052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.761010732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.761028632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.761353592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.763045505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.763087725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.763114755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.763411955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.763905536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.763957796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.763979216Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.764176197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.77284037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"phantom_disks","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.775816884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_executor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"Blueprint execution: skipped","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:41.775862044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_executor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reason":"no blueprint"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.775879914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_executor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"no blueprint\"}","iteration":1,"elapsed":"88.99µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.775909134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.776069085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Inventory","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.776121645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.776143455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.776164135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.776577745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.777181836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.777206206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Inventory","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.777226196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.777265457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.777284867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.777584127Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.778158958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.778290458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.778336998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.778358158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.778858789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.77937886Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.78622859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"reconfigurator config not yet loaded; doing nothing","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.78626371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.78630431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"Disabled\"","iteration":1,"elapsed":"88.28µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.7863527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.786398821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.786420621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.786452921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.786470171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.787112802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.787991823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"Blueprint execution: skipped","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:41.788020263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reason":"no blueprint"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.788036103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"no blueprint\"}","iteration":1,"elapsed":"63.92µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.788054313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.788154943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.788176943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.788220543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.788241893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.788860694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.789602205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"physical_disk_adoption","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.789769756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"physical_disk_adoption","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"disks_added\":0,\"errors\":[\"task disabled\"]}","iteration":1,"elapsed":"188.341µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.789960346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"Blueprint rendezvous: skipped","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:41.790011186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reason":"no blueprint"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.790030116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"no blueprint\"}","iteration":1,"elapsed":"63.99µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.790047256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"decommissioned_disk_cleaner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"Decommissioned Disk Cleaner disabled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:41.790063746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"decommissioned_disk_cleaner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.790078526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"decommissioned_disk_cleaner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"deleted\":0,\"error\":null,\"error_count\":0,\"found\":0,\"not_ready_to_be_deleted\":0}","iteration":1,"elapsed":"45.47µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.790097126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"inventory collection is None","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:41.790117196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.790136576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"inventory collection is None\"}","iteration":1,"elapsed":"19.87µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.790155116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.790177786Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.790271976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.790294946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.790315606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.790943437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.795897595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.796617516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.796694596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.797127667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.797779128Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.797882268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.797909018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.798248249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.79882891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement_driver","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.79893286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement_driver","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.79895527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement_driver","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.79924921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement_driver","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.799696051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.799734551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_mgs._tcp.control-plane.oxide.internal"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.799933681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_updater","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"background instance updater explicitly disabled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:41.799958371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_updater","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.800097881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_updater","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"destroyed_active_vmms\":0,\"disabled\":true,\"failed_active_vmms\":0,\"query_errors\":[],\"saga_errors\":[],\"sagas_completed\":0,\"sagas_started\":0,\"terminated_active_migrations\":0}","iteration":1,"elapsed":"146.33µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.800124531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.800258322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.800280342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.800652832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.801098903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"starting background task for service firewall rule propagation","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.801131133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.801147683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.801165453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.801587074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.802099975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"VPC route manager running","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:41.802131195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.802146165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.802164955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.802190755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.802208955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.802502165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.806124971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"abandoned_vmm_reaper","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.806358891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"abandoned_vmm_reaper","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.806447331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"abandoned_vmm_reaper","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.807230192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"abandoned_vmm_reaper","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.807635423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"saga_recovery","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"saga recovery pass starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:41.807729283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"listing candidate sagas for recovery","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.807758143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SagaRecoverer","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.807777783Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SagaRecoverer","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000003a8a (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.807796843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SagaRecoverer","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.808266184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SagaRecoverer","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000003a8a (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.846924253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"lookup_region_port","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.846983343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"lookup_region_port","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.847005893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"lookup_region_port","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.847566734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"lookup_region_port","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.848294535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_start","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.848321625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_start","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.848341035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_start","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.848694486Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_start","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.849195407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_garbage_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.849258547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_garbage_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.849279897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_garbage_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.849563297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_garbage_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.853386053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_step","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.853416533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_step","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.853435323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_step","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.853705693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_step","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.854107134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_finish","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.854142584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_finish","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.854163714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_finish","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.854401044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_finish","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.854749065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.854778635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.854826135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.854849125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.854868735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.855060975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.855512446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"reconfigurator config not yet loaded; doing nothing","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:41.855550076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.855652696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"reason\":\"reconfigurator config not yet loaded\",\"status\":\"disabled\"}","iteration":1,"elapsed":"144.79µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.855692076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"read_only_region_replacement_start","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.855711706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"read_only_region_replacement_start","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.855731657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"read_only_region_replacement_start","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.855970117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"read_only_region_replacement_start","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.856341797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"alert_dispatcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.856374077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"alert_dispatcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.856393778Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"alert_dispatcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.856625048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"alert_dispatcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.857037088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"webhook_deliverator","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.857066619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"webhook_deliverator","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.857086259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"webhook_deliverator","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.857360949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"webhook_deliverator","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.85769696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"multicast group reconciler activating","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.85771687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"starting multicast reconciliation pass","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.85773239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"skipping cache invalidation check: no inventory available","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.85774913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.8577702Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.85794652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"sp_ereport_ingester","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"SP ereport ingestion disabled, doing nothing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.85796846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"sp_ereport_ingester","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.85807733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"sp_ereport_ingester","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"disabled\":true,\"errors\":[],\"sps\":[],\"sps_found\":0,\"sps_not_present\":0}","iteration":1,"elapsed":"124.13µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.85810769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.8581295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.85814981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.85817718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.85819675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.858437021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.858784101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"fault management analysis waiting for inventory to be loaded","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.858811111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.858903211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"inv_collection_id\":null,\"known_classes\":[],\"outcome\":\"WaitingForInventory\",\"parent_sitrep_id\":null}","iteration":1,"elapsed":"121.61µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.858926181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.859007552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"alerts\":{\"details\":{\"alerts_created\":0,\"current_sitrep_alerts_requested\":0,\"errors\":[],\"total_alerts_requested\":0},\"result\":\"Skipped\"},\"ereport_marking\":{\"details\":{\"batch_size\":0,\"batches\":0,\"ereports_marked_seen\":0,\"ereports_not_marked_in_sitrep\":0,\"errors\":[],\"total_ereports_in_sitrep\":0},\"result\":\"Skipped\"},\"sitrep_id\":null,\"support_bundles\":{\"details\":{\"bundles_created\":0,\"current_sitrep_bundles_requested\":0,\"errors\":[],\"total_bundles_requested\":0},\"result\":\"Skipped\"}}","iteration":1,"elapsed":"72.86µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.859042722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.859059312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.859078222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.859290532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.859560932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"distributing networking probes to sleds","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:41.859584852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.859599832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.859618862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.859639352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.859658663Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.859801983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.860114043Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"trust_quorum_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.860171613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"bgtask":"TrustQuorumManager","background_task":"trust_quorum_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.860194193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"bgtask":"TrustQuorumManager","background_task":"trust_quorum_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.860215253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"bgtask":"TrustQuorumManager","background_task":"trust_quorum_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.860275363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"bgtask":"TrustQuorumManager","background_task":"trust_quorum_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.860414904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"bgtask":"TrustQuorumManager","background_task":"trust_quorum_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.860947824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"attached_subnet_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"starting attached subnet manager work","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:41.860979955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"attached_subnet_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.860995745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.862671437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"session_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.862717107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"session_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.862739467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"session_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.862759157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"session_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.862777797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"session_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.862989748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"session_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.863710839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_timeout_incomplete","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.863743229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_timeout_incomplete","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.863763829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_timeout_incomplete","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.863791959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_timeout_incomplete","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.863811159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_timeout_incomplete","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.864082439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_timeout_incomplete","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.865859792Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.865885372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.865905162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.865926142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.865944472Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.866157232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.866457513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":1,"reason":"Timeout"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.866488043Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.866601873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.866625953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:41.866646673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.866667073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.866922354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"Running step start_dendrite_switch0","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.986300556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"Starting Dendrite","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:41.986348606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"switch_slot":"switch0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.039386307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.039441627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.039462597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.039480917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.040130998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.042871913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:20777","req_id":"81c85a83-a1f4-4d40-9e13-6ff143553e55","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 75 (0x4b) bytes\n0000: 31 00 01 00 00 01 00 00 00 00 00 01 0c 5f 6e 61 1............_na\n0010: 6d 65 73 65 72 76 69 63 65 04 5f 74 63 70 0d 63 meservice._tcp.c\n0020: 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 ontrol-plane.oxi\n0030: 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 de.internal..!..\n0040: 00 00 29 04 d0 00 00 00 00 00 00 ..)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.042943443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:20777","req_id":"81c85a83-a1f4-4d40-9e13-6ff143553e55","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 12544,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_nameservice._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_nameservice._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 12,\n 95,\n 110,\n 97,\n 109,\n 101,\n 115,\n 101,\n 114,\n 118,\n 105,\n 99,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 12544,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_nameservice._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_nameservice._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 12,\n 95,\n 110,\n 97,\n 109,\n 101,\n 115,\n 101,\n 114,\n 118,\n 105,\n 99,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n} SERVFAIL: server is not authoritative for name: \"_nameservice._tcp.control-plane.oxide.internal.\"","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.044172955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:20777","req_id":"81c85a83-a1f4-4d40-9e13-6ff143553e55","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"failed to lookup DNS servers","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:42.046523638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_servers_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"proto error: no records found for Query { name: Name(\"_nameservice._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.046567548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_servers_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"failed to read list of DNS servers: proto error: no records found for Query { name: Name(\\\"_nameservice._tcp.control-plane.oxide.internal.\\\"), query_type: SRV, query_class: IN }\"}","iteration":1,"elapsed":"290.589164ms"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.04768055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:51846","req_id":"e1daf382-4dea-46ed-baf9-3bdeff5b1d50","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 76 (0x4c) bytes\n0000: 5b 23 01 00 00 01 00 00 00 00 00 01 0d 5f 65 78 [#..........._ex\n0010: 74 65 72 6e 61 6c 2d 64 6e 73 04 5f 74 63 70 0d ternal-dns._tcp.\n0020: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0030: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 21 00 ide.internal..!.\n0040: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.04772184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:51846","req_id":"e1daf382-4dea-46ed-baf9-3bdeff5b1d50","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 23331,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_external-dns._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_external-dns._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 13,\n 95,\n 101,\n 120,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 45,\n 100,\n 110,\n 115,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 23331,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_external-dns._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_external-dns._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 13,\n 95,\n 101,\n 120,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 45,\n 100,\n 110,\n 115,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n} SERVFAIL: server is not authoritative for name: \"_external-dns._tcp.control-plane.oxide.internal.\"","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.04784889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:51846","req_id":"e1daf382-4dea-46ed-baf9-3bdeff5b1d50","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.04786599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:12387","req_id":"1bbd4996-96e8-483c-bd6b-dedddd95f068","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: b7 99 01 00 00 01 00 00 00 00 00 01 04 5f 6d 67 ............._mg\n0010: 73 04 5f 74 63 70 0d 63 6f 6e 74 72 6f 6c 2d 70 s._tcp.control-p\n0020: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0030: 6e 61 6c 00 00 21 00 01 00 00 29 04 d0 00 00 00 nal..!....).....\n0040: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.04788863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:12387","req_id":"1bbd4996-96e8-483c-bd6b-dedddd95f068","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 47001,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 115,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 47001,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 115,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n} SERVFAIL: server is not authoritative for name: \"_mgs._tcp.control-plane.oxide.internal.\"","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.04800819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:12387","req_id":"1bbd4996-96e8-483c-bd6b-dedddd95f068","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.04802409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:34063","req_id":"004fe361-613d-488a-9cff-eaf976f4c3d6","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 87 94 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 ............._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.048046941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:34063","req_id":"004fe361-613d-488a-9cff-eaf976f4c3d6","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 34708,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 34708,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n} SERVFAIL: server is not authoritative for name: \"_dendrite._tcp.control-plane.oxide.internal.\"","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.048180341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:34063","req_id":"004fe361-613d-488a-9cff-eaf976f4c3d6","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.048195741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:24648","req_id":"dca0d23a-aa61-4bf4-a349-9c3d6f9841c0","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: db b0 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 ............._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.048219951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:24648","req_id":"dca0d23a-aa61-4bf4-a349-9c3d6f9841c0","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 56240,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 56240,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n} SERVFAIL: server is not authoritative for name: \"_dendrite._tcp.control-plane.oxide.internal.\"","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.048343071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:24648","req_id":"dca0d23a-aa61-4bf4-a349-9c3d6f9841c0","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.048358181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:32394","req_id":"5511250d-568e-4416-a109-22a7dac4c57e","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 53 f9 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 S............_de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.048379781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:32394","req_id":"5511250d-568e-4416-a109-22a7dac4c57e","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 21497,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 21497,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n} SERVFAIL: server is not authoritative for name: \"_dendrite._tcp.control-plane.oxide.internal.\"","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.050372874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:32394","req_id":"5511250d-568e-4416-a109-22a7dac4c57e","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"failed to lookup DNS servers","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:42.053009238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_servers_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"proto error: no records found for Query { name: Name(\"_external-dns._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.053055048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_servers_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"failed to read list of DNS servers: proto error: no records found for Query { name: Name(\\\"_external-dns._tcp.control-plane.oxide.internal.\\\"), query_type: SRV, query_class: IN }\"}","iteration":1,"elapsed":"292.389057ms"} {"msg":"failed to resolve any management gateways; we will not be checking if sleds are powered on, should sled-agents be unreachable","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:42.053081378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"proto error: no records found for Query { name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.053099668Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.053117978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.053136468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.053153698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.063309384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"failed to resolve addresses for Dendrite services","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.064449016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"proto error: no records found for Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }"} {"msg":"failed to build DPD clients","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.08687062Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"proto error: no records found for Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }"} {"msg":"multicast RPW reconciliation pass completed with dataplane inconsistencies","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.087301981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dataplane_error_count":1,"orphaned_members_cleaned":0,"member_state_transitions":0,"active_groups_verified":0,"external_groups_deleted":0,"external_groups_created":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.087487121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"disabled\":false,\"empty_groups_marked\":0,\"errors\":[\"failed to create multicast dataplane client: Internal Error: failed to build DPD clients\"],\"groups_created\":0,\"groups_deleted\":0,\"groups_verified\":0,\"members_deleted\":0,\"members_processed\":0}","iteration":1,"elapsed":"229.774042ms"} {"msg":"failed to resolve addresses for Dendrite services","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.087772421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"attached_subnet_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"proto error: no records found for Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }"} {"msg":"failed to lookup Dendrite clients, will not be able to forward attachments to Dendrite","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.087798521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"attached_subnet_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"proto error: no records found for Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.087968372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"attached_subnet_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.087989972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"attached_subnet_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.089442914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"attached_subnet_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"failed to resolve addresses for Dendrite services","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.092947739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"proto error: no records found for Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }"} {"msg":"failed to look up dendrite clients","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:42.092988709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"proto error: no records found for Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.093063679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"switch0\":{\"Err\":\"failed to look up dendrite clients: proto error: no records found for Query { name: Name(\\\"_dendrite._tcp.control-plane.oxide.internal.\\\"), query_type: SRV, query_class: IN }\"},\"switch1\":{\"Err\":\"failed to look up dendrite clients: proto error: no records found for Query { name: Name(\\\"_dendrite._tcp.control-plane.oxide.internal.\\\"), query_type: SRV, query_class: IN }\"}}","iteration":1,"elapsed":"226.602856ms"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.123081165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"Metric producer GC complete (no errors)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:42.129069164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"metrics_producer_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","pruned":"{}","expiration":"2026-06-10 21:24:41.759585960 UTC"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.129279975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"metrics_producer_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"expiration\":\"2026-06-10T21:24:41.759585960Z\",\"pruned\":[]}","iteration":1,"elapsed":"369.714266ms"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.129734675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_mgd._tcp.control-plane.oxide.internal"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.130475797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.133316021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.133439681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.133490111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.133870072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.197711429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"phantom_disks","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"phantom_disk_deleted_err\":0,\"phantom_disk_deleted_ok\":0}","iteration":1,"elapsed":"424.843489ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.235442887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.242687238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Inventory","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.242748618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.242768668Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.243193629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.283536511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.287176006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Inventory","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.287229406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.287248876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.289254519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.289864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.296831811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.296883111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.296903761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.297093021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.300426696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:28479","req_id":"77e960e3-cf55-4f5c-be0c-cccd14b4357a","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: c5 02 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 ............._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.300647857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:28479","req_id":"77e960e3-cf55-4f5c-be0c-cccd14b4357a","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 50434,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 50434,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n} SERVFAIL: server is not authoritative for name: \"_dendrite._tcp.control-plane.oxide.internal.\"","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.300909507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:28479","req_id":"77e960e3-cf55-4f5c-be0c-cccd14b4357a","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.301310378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.304019412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.304065332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.304085372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.304267962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.305526504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.324700283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.324760234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.324806264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.325017714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"failed to resolve addresses for Dendrite services","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.338252194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"proto error: no records found for Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }"} {"msg":"failed to resolve addresses for Dendrite services","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.338320744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"proto error: no records found for Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.338340804Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"failed to resolve addresses for Dendrite services: proto error: no records found for Query { name: Name(\\\"_dendrite._tcp.control-plane.oxide.internal.\\\"), query_type: SRV, query_class: IN }\"}","iteration":1,"elapsed":"575.239339ms"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.344125103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:10605","req_id":"23043183-4aaa-4e78-a2f7-ffb93117afa2","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: 8f 81 01 00 00 01 00 00 00 00 00 01 04 5f 6d 67 ............._mg\n0010: 64 04 5f 74 63 70 0d 63 6f 6e 74 72 6f 6c 2d 70 d._tcp.control-p\n0020: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0030: 6e 61 6c 00 00 21 00 01 00 00 29 04 d0 00 00 00 nal..!....).....\n0040: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.344201353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:10605","req_id":"23043183-4aaa-4e78-a2f7-ffb93117afa2","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 36737,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgd._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgd._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 100,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 36737,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgd._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgd._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 100,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n} SERVFAIL: server is not authoritative for name: \"_mgd._tcp.control-plane.oxide.internal.\"","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.344530484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:10605","req_id":"23043183-4aaa-4e78-a2f7-ffb93117afa2","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.437396806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement_driver","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.437483756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement_driver","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.438128027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement_driver","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.439046078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.443856866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.443912706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.443935416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.444867637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"Running step start_mgd_switch0","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.452197578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"Starting mgd","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.452220708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"switch_slot":"switch0"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:42.468926074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:64900"} {"msg":"failed to resolve addresses for MGD services","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:42.491222088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"proto error: no records found for Query { name: Name(\"_mgd._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.513018341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"proto error: no records found for Query { name: Name(\\\"_mgd._tcp.control-plane.oxide.internal.\\\"), query_type: SRV, query_class: IN }\"}","iteration":1,"elapsed":"749.088385ms"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.513546892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.513573642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.514040123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.515925856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.516118376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.516418317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.52501124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"51cac3db-3764-47d2-94e3-09025ed44cc9","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.525079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"51cac3db-3764-47d2-94e3-09025ed44cc9","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.527338433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"51cac3db-3764-47d2-94e3-09025ed44cc9","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.527378403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"51cac3db-3764-47d2-94e3-09025ed44cc9","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.527765294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"51cac3db-3764-47d2-94e3-09025ed44cc9","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.542327636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.542384056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.543017937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.559284202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.566027172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.566746994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.566791284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.566813384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.566831604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.57103958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.573988565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"lookup_region_port","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"errors\":[],\"found_port_ok\":[]}","iteration":1,"elapsed":"727.076762ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.641270717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.666999907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.667079587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.667099287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.667117877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.667135417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.668459599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"all webhook delivery tasks completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:42.677667803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"webhook_deliverator","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","num_receivers":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.677794493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"webhook_deliverator","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"by_rx\":{},\"error\":null}","iteration":1,"elapsed":"820.757005ms"} {"msg":"listed in-progress sagas","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:42.68215552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SagaRecoverer","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","count":0} {"msg":"saga recovery pass finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:42.68219397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","blueprint_id":"None","generation":"1"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.68221197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"saga_recovery","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"last_pass\":{\"Success\":{\"nfailed\":0,\"nfound\":0,\"nrecovered\":0,\"nremoved\":0,\"nskipped\":0}},\"ntotal_failures\":0,\"ntotal_finished\":0,\"ntotal_recovered\":0,\"ntotal_sec_errors_bad_state\":0,\"ntotal_sec_errors_missing\":0,\"ntotal_started\":0,\"recent_failures\":[],\"recent_recoveries\":[]}","iteration":1,"elapsed":"872.967975ms"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.68223832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.68225667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.68227535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.68229313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.68243722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.735981252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_start","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.736037472Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_start","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.736572323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_start","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"Found abandoned VMMs","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.739727418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"abandoned_vmm_reaper","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","total":0,"count":0} {"msg":"Abandoned VMMs reaped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:42.739758488Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"abandoned_vmm_reaper","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","vmms_already_deleted":0,"vmms_deleted":0,"sled_reservations_deleted":0,"vmms_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.739781218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"abandoned_vmm_reaper","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"errors\":[],\"sled_reservations_deleted\":0,\"vmms_already_deleted\":0,\"vmms_deleted\":0,\"vmms_found\":0}","iteration":1,"elapsed":"933.674757ms"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.740173589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_garbage_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"errors\":[],\"garbage_collect_requested\":[]}","iteration":1,"elapsed":"890.969223ms"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.828829663Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_step","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.828884263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_step","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.830714476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_step","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.833581651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.854537313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.869634916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.870566327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.870611417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.870631527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.871021268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.883358087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"bgtask":"TrustQuorumManager","background_task":"trust_quorum_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.895624745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"bgtask":"TrustQuorumManager","background_task":"trust_quorum_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.895687976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"bgtask":"TrustQuorumManager","background_task":"trust_quorum_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.895710236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"bgtask":"TrustQuorumManager","background_task":"trust_quorum_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.895935916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"bgtask":"TrustQuorumManager","background_task":"trust_quorum_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.897410558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"read_only_region_replacement_start","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"errors\":[],\"requests_created_ok\":[]}","iteration":1,"elapsed":"1.041674492s"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.897470608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_finish","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"errors\":[],\"finish_invoked_ok\":[]}","iteration":1,"elapsed":"1.043383414s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.897536418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_timeout_incomplete","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.898910411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_timeout_incomplete","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.899063281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_timeout_incomplete","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.899086951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_timeout_incomplete","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.899394721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_timeout_incomplete","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.900644263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.91171828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.91177802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.91179915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.912139131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.919903363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.920025563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.920072443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.920656524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.9246616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"session_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.952308172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"session_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.952412482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"session_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.952460162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"session_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.952821033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"session_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.954793576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.987107495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.988305627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.991034111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:42.991452162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.991497222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:42.991873143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.015243638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.051755294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.051867064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.051915974Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.062795151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.063845643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.071175164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.072395886Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.072490226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.072538926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.072578636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.082145501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.091585005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"NoCollections\"","iteration":1,"elapsed":"1.314372219s"} {"msg":"reconfigurator config load complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.092060646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","switches":"Loaded(ReconfiguratorConfigView { version: 1, config: ReconfiguratorConfig { planner_enabled: false, planner_config: PlannerConfig, tuf_repo_pruner_enabled: true }, time_modified: 2026-06-10T21:34:41.697639Z })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.092133686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"config_updated\":true}","iteration":1,"elapsed":"1.313997398s"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.092197926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Dependency"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.092255826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.092317096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.092369776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.092413396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.096548113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.10156354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Dependency"} {"msg":"blueprint planning disabled, doing nothing","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.10163798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.101685331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"Disabled\"","iteration":2,"elapsed":"155.781µs"} {"msg":"inventory_prune_one: nothing eligible for removal (too few)","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.102001381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","candidates":"[]"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.102086881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_mgs._tcp.control-plane.oxide.internal"} {"msg":"failed to read DNS config","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:43.103052763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"Internal Error: expected exactly one latest version for DNS group External, found 0"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.103137673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"failed to read DNS config: Internal Error: expected exactly one latest version for DNS group External, found 0\"}","iteration":1,"elapsed":"1.345424056s"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.104879235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.104903235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.104922355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.104942146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.105676697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"failed to read target blueprint","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:43.106939519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"Internal Error: no target blueprint set"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.106963579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"failed to read target blueprint: Internal Error: no target blueprint set\"}","iteration":1,"elapsed":"1.320616219s"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.108231421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:50873","req_id":"e998bd96-ad1d-407b-8af2-f652686a5812","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: f9 d6 01 00 00 01 00 00 00 00 00 01 04 5f 6d 67 ............._mg\n0010: 73 04 5f 74 63 70 0d 63 6f 6e 74 72 6f 6c 2d 70 s._tcp.control-p\n0020: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0030: 6e 61 6c 00 00 21 00 01 00 00 29 04 d0 00 00 00 nal..!....).....\n0040: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.108283041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:50873","req_id":"e998bd96-ad1d-407b-8af2-f652686a5812","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 63958,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 115,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 63958,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 115,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n} SERVFAIL: server is not authoritative for name: \"_mgs._tcp.control-plane.oxide.internal.\"","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:43.108783241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:50873","req_id":"e998bd96-ad1d-407b-8af2-f652686a5812","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"inventory collection failed","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:43.111520436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"failed to collect inventory: proto error: no records found for Query { name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.111545536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"failed to collect inventory: proto error: no records found for Query { name: Name(\\\"_mgs._tcp.control-plane.oxide.internal.\\\"), query_type: SRV, query_class: IN }\"}","iteration":1,"elapsed":"1.335623522s"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.11415706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":1,"elapsed":"1.323930943s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.130813255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.141807892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.143298094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.157148825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.157208245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.157233685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.157731176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.158733298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.163710905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.164585777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.207315652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement_driver","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"drive_invoked_ok\":[],\"errors\":[],\"finish_invoked_ok\":[]}","iteration":1,"elapsed":"1.408429233s"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:43.207445202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"51cac3db-3764-47d2-94e3-09025ed44cc9","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":682472,"response_code":200} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.214132012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.214970034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.215010694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.215030944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.215274784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"failed to read DNS config","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:43.227162272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"Internal Error: expected exactly one latest version for DNS group Internal, found 0"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.227218752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"failed to read DNS config: Internal Error: expected exactly one latest version for DNS group Internal, found 0\"}","iteration":1,"elapsed":"1.477050096s"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.235046744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_start","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"errors\":[],\"requests_completed_ok\":[],\"requests_created_ok\":[],\"start_invoked_ok\":[]}","iteration":1,"elapsed":"1.386732589s"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.235678345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_replacement","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"errors\":[],\"requests_completed_ok\":[],\"requests_created_ok\":[],\"start_invoked_ok\":[]}","iteration":1,"elapsed":"1.437897377s"} {"msg":"listed attached subnets","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.247396573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"attached_subnet_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","n_subnets":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.248673105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"attached_subnet_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"db_error\":null,\"dendrite\":{},\"sled\":{}}","iteration":1,"elapsed":"1.387632531s"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.249156196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_step","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.249189636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_step","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.255030675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_step","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"reprocessing 0 outdated webhook globs...","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.258663961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"alert_dispatcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.258708741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"alert_dispatcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.258750161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"alert_dispatcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.259111261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"alert_dispatcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.259967813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.263191497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.263236868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.263258408Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.263481258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"mgd port is 53460","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.266848283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"Running step record_switch_dns","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.266888923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"Recording DNS for the switch zones","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.266904603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"switch_slot":"switch0","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229"} {"msg":"Running step start_sled1","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.267336824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"setting up sled agent server","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:43.267680954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"created simulated sled agent","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:43.36966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"server":"b6d65341-167c-41df-9b5c-41cded99c229","component":"SledAgent","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","sim_mode":"Explicit"} {"msg":"registered sled b6d65341-167c-41df-9b5c-41cded99c229 storage","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:43.370369121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"omicron_sled_agent::sim::SimulatedUpstairs"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.473576319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.47399905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:43.47402946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.47404932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.47410841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"Loaded 0 active trust quorum configurations from database","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:43.476545204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"bgtask":"TrustQuorumManager","bgtask":"TrustQuorumManager","background_task":"trust_quorum_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.476606364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"trust_quorum_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"PerRackStatus\":{\"errors\":[],\"statuses\":[]}}","iteration":1,"elapsed":"1.616473661s"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.476809884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"NoSitrep\"","iteration":1,"elapsed":"1.618712434s"} {"msg":"session cleanup found no expired sessions","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.477270655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"session_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","cutoff":"2026-06-09 21:34:41.862656967 UTC"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.477333865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"session_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"cutoff\":\"2026-06-09T21:34:41.862656967Z\",\"deleted\":0,\"error\":null,\"limit\":10000}","iteration":1,"elapsed":"1.614669468s"} {"msg":"No ledger in /var/tmp/omicron_tmp/.tmpWQH194/artifact-config.json","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:43.477829636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ArtifactStore","server":"b6d65341-167c-41df-9b5c-41cded99c229","component":"SledAgent","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"Failed to read ledger","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.477861386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ArtifactStore","server":"b6d65341-167c-41df-9b5c-41cded99c229","component":"SledAgent","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","error":"Not found in storage","path":"/var/tmp/omicron_tmp/.tmpWQH194/artifact-config.json"} {"msg":"No ledger in /var/tmp/omicron_tmp/.tmpvQQgdt/artifact-config.json","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:43.477883696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ArtifactStore","server":"b6d65341-167c-41df-9b5c-41cded99c229","component":"SledAgent","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"Failed to read ledger","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.477899576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ArtifactStore","server":"b6d65341-167c-41df-9b5c-41cded99c229","component":"SledAgent","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","error":"Not found in storage","path":"/var/tmp/omicron_tmp/.tmpvQQgdt/artifact-config.json"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.901372972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:50959","component":"dropshot (Repo Depot)","server":"b6d65341-167c-41df-9b5c-41cded99c229","component":"SledAgent","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/artifact/sha256/{sha256}","method":"GET"} {"msg":"listening","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:43.901538273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:50959","component":"dropshot (Repo Depot)","server":"b6d65341-167c-41df-9b5c-41cded99c229","component":"SledAgent","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"successfully registered DTrace USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.902060883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:50959","component":"dropshot (Repo Depot)","server":"b6d65341-167c-41df-9b5c-41cded99c229","component":"SledAgent","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.929275155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/artifacts","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.929370405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/artifacts/{sha256}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.929410345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/artifacts/{sha256}/copy-from-depot","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.929447845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/artifacts-config","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.929480765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/artifacts-config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.929515455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/bootstore/status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.929553895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all ending with 2.0.0","path":"/chicken-switch/destroy-orphaned-datasets","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.929589865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all ending with 3.0.0","path":"/chicken-switch/destroy-orphaned-datasets","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.929625935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 3.0.0","path":"/debug/switch-zone-policy","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.929887836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 3.0.0","path":"/debug/switch-zone-policy","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.929937856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all ending with 21.0.0","path":"/disks/{disk_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.929976896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/eip-gateways","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930010326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 40.0.0","path":"/inventory","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930045686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 37.0.0 to 40.0.0","path":"/inventory","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930084956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 34.0.0 to 37.0.0","path":"/inventory","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930116956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 28.0.0 to 34.0.0","path":"/inventory","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930148726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 24.0.0 to 28.0.0","path":"/inventory","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930186386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 22.0.0 to 24.0.0","path":"/inventory","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930218086Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 16.0.0 to 22.0.0","path":"/inventory","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930250196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 14.0.0 to 16.0.0","path":"/inventory","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930282356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 12.0.0 to 14.0.0","path":"/inventory","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930313847Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 11.0.0 to 12.0.0","path":"/inventory","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930349037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 10.0.0 to 11.0.0","path":"/inventory","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930381507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 4.0.0 to 10.0.0","path":"/inventory","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930513627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all ending with 4.0.0","path":"/inventory","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930552107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 17.0.0","path":"/local-storage","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930591657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 17.0.0","path":"/local-storage","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930630587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 9.0.0 to 17.0.0","path":"/local-storage/{zpool_id}/{dataset_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930663267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 9.0.0 to 17.0.0","path":"/local-storage/{zpool_id}/{dataset_id}","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930807677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 20.0.0 to 23.0.0","path":"/network-bootstore-config","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930844527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all ending with 20.0.0","path":"/network-bootstore-config","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930876367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 39.0.0","path":"/network-bootstore-config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930909327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 33.0.0 to 39.0.0","path":"/network-bootstore-config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930941607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 30.0.0 to 33.0.0","path":"/network-bootstore-config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.930975558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 26.0.0 to 30.0.0","path":"/network-bootstore-config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931011298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 25.0.0 to 26.0.0","path":"/network-bootstore-config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931044448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 20.0.0 to 25.0.0","path":"/network-bootstore-config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931075828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all ending with 20.0.0","path":"/network-bootstore-config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931109788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 14.0.0","path":"/omicron-config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931147328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 11.0.0 to 14.0.0","path":"/omicron-config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931180078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 10.0.0 to 11.0.0","path":"/omicron-config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931211918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 4.0.0 to 10.0.0","path":"/omicron-config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931246338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all ending with 4.0.0","path":"/omicron-config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931284298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 10.0.0","path":"/probes","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931317368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 6.0.0 to 10.0.0","path":"/probes","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931351658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 19.0.0","path":"/rot/{rot}/attest","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931384928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 19.0.0","path":"/rot/{rot}/certificate-chain","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931522198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 19.0.0","path":"/rot/{rot}/measurement-log","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931574588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/sled-identifiers","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931609289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all ending with 8.0.0","path":"/sled-role","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931641479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/sleds","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931680049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support/dladm-info","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931717869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support/health-check","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931753589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support/ipadm-info","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931792569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support/logs/download/{zone}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931830409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support/logs/zones","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931864849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support/nvmeadm-info","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931898919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support/pargs-info","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931931709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support/pfiles-info","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.931968739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support/pstack-info","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.932005549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support/zfs-info","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.932040089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support/zoneadm-info","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.932074809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support/zpool-info","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.932110699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support-bundles/{zpool_id}/{dataset_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.93239563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support-bundles/{zpool_id}/{dataset_id}/{support_bundle_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.9324362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support-bundles/{zpool_id}/{dataset_id}/{support_bundle_id}","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.93247204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support-bundles/{zpool_id}/{dataset_id}/{support_bundle_id}/download","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.93253426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support-bundles/{zpool_id}/{dataset_id}/{support_bundle_id}/download","method":"HEAD"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.93256979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support-bundles/{zpool_id}/{dataset_id}/{support_bundle_id}/download/{file}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.93262233Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support-bundles/{zpool_id}/{dataset_id}/{support_bundle_id}/download/{file}","method":"HEAD"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934078342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support-bundles/{zpool_id}/{dataset_id}/{support_bundle_id}/finalize","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934131502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support-bundles/{zpool_id}/{dataset_id}/{support_bundle_id}/index","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934173972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support-bundles/{zpool_id}/{dataset_id}/{support_bundle_id}/index","method":"HEAD"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934219693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/support-bundles/{zpool_id}/{dataset_id}/{support_bundle_id}/transfer","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934255853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 30.0.0","path":"/switch-ports","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934288103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 20.0.0 to 30.0.0","path":"/switch-ports","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934324423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all ending with 20.0.0","path":"/switch-ports","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934367813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 13.0.0","path":"/trust-quorum/commit","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934403803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 13.0.0","path":"/trust-quorum/configuration","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934438753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 13.0.0","path":"/trust-quorum/coordinator-status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934476803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 15.0.0","path":"/trust-quorum/network-config","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934512823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 15.0.0","path":"/trust-quorum/network-config","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934547003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 13.0.0","path":"/trust-quorum/prepare-and-commit","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934618973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 13.0.0","path":"/trust-quorum/proxy/commit","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934652853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 13.0.0","path":"/trust-quorum/proxy/prepare-and-commit","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934685773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 13.0.0","path":"/trust-quorum/proxy/status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934720163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 15.0.0","path":"/trust-quorum/status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934754703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 13.0.0","path":"/trust-quorum/upgrade","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934795233Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/v2p","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934826973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/v2p","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934857923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/v2p","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934892164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/vmms/{propolis_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934928764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 41.0.0","path":"/vmms/{propolis_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934964284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 32.0.0 to 41.0.0","path":"/vmms/{propolis_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.934998054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 31.0.0 to 32.0.0","path":"/vmms/{propolis_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935040944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 29.0.0 to 31.0.0","path":"/vmms/{propolis_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935076364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 18.0.0 to 29.0.0","path":"/vmms/{propolis_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935111004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 17.0.0 to 18.0.0","path":"/vmms/{propolis_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935144754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 11.0.0 to 17.0.0","path":"/vmms/{propolis_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935196394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 10.0.0 to 11.0.0","path":"/vmms/{propolis_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935232964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 9.0.0 to 10.0.0","path":"/vmms/{propolis_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935275394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 7.0.0 to 9.0.0","path":"/vmms/{propolis_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935308834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all ending with 7.0.0","path":"/vmms/{propolis_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935344774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 18.0.0","path":"/vmms/{propolis_id}/attached-subnets","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935383294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 18.0.0","path":"/vmms/{propolis_id}/attached-subnets","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935418194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 18.0.0","path":"/vmms/{propolis_id}/attached-subnets","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935454294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 18.0.0","path":"/vmms/{propolis_id}/attached-subnets/{subnet}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935497444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/vmms/{propolis_id}/disks/{disk_id}/snapshot","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935531695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/vmms/{propolis_id}/external-ip","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935571305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/vmms/{propolis_id}/external-ip","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935605155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 7.0.0","path":"/vmms/{propolis_id}/multicast-group","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935638385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 7.0.0","path":"/vmms/{propolis_id}/multicast-group","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935677205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/vmms/{propolis_id}/poke","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935733705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/vmms/{propolis_id}/poke-single-step","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935767445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/vmms/{propolis_id}/sim-migration-source","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935883385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/vmms/{propolis_id}/state","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935919885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/vmms/{propolis_id}/state","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.935967995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 31.0.0","path":"/vpc/{vpc_id}/firewall/rules","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.936003265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"from 10.0.0 to 31.0.0","path":"/vpc/{vpc_id}/firewall/rules","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.936040295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all ending with 10.0.0","path":"/vpc/{vpc_id}/firewall/rules","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.936073655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/vpc-routes","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.936109775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/vpc-routes","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.936145195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/zones","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.936180065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/zones/bundle-cleanup","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.936219796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/zones/bundle-cleanup/context","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.936254276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/zones/bundle-cleanup/context","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.936297886Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/zones/bundle-cleanup/utilization","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.936337226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/zones/bundles","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.936371186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/zones/bundles/{zone_name}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.936406196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/zones/bundles/{zone_name}/{bundle_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.936442816Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/zones/bundles/{zone_name}/{bundle_id}","method":"GET"} {"msg":"listening","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:43.936529176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"successfully registered DTrace USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.939893801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"contacting server nexus","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.950623048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.95191699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"NexusClient","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","body":"Some(Body)","uri":"http://127.0.0.1:49805/sled-agents/b6d65341-167c-41df-9b5c-41cded99c229","method":"POST"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:43.960892493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.039603374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.039815634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.042699498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.043198799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.090846532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.090970132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.091032352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.091074022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.091635263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.107350887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.115111789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.115250049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.115304729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.11564068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:44.116521571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:54070"} {"msg":"audit log cleanup: no old entries to delete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.138847905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","cutoff":"2026-03-12 21:34:41.865851732 UTC"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.138981586Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"cutoff\":\"2026-03-12T21:34:41.865851732Z\",\"error\":null,\"max_deleted_per_activation\":10000,\"rows_deleted\":0}","iteration":1,"elapsed":"2.273125104s"} {"msg":"audit log timeout: no stale entries found","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.146865228Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_timeout_incomplete","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","cutoff":"2026-06-10 17:34:41.863702579 UTC"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.147058338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"audit_log_timeout_incomplete","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"cutoff\":\"2026-06-10T17:34:41.863702579Z\",\"error\":null,\"max_timed_out_per_activation\":1000,\"timed_out\":0}","iteration":1,"elapsed":"2.283356679s"} {"msg":"all instance checks complete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:44.147354568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","pruned_instances":0,"update_sagas_queued":0,"total_incomplete":0,"total_failed":0,"total_completed":0,"total_instances":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.147467489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"failed_checks\":{},\"incomplete_checks\":{},\"instance_states\":{},\"pruned_instances\":0,\"total_instances\":0,\"update_sagas_queued\":0}","iteration":1,"elapsed":"2.347791348s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.147599609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.152108226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.152222126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.152358956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.153572128Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.183773364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":1,"elapsed":"2.38162936s"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.184292325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:44.184417715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.212537348Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":1,"elapsed":"2.403393753s"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.213482479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/sled-agents/b6d65341-167c-41df-9b5c-41cded99c229","method":"POST","req_id":"b5ddf9bc-b3bd-4b8d-86aa-c869e0dd6f66","remote_addr":"127.0.0.1:54070","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.2135652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/sled-agents/b6d65341-167c-41df-9b5c-41cded99c229","method":"POST","req_id":"b5ddf9bc-b3bd-4b8d-86aa-c869e0dd6f66","remote_addr":"127.0.0.1:54070","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"registered sled agent","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:44.218545227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","sled_uuid":"b6d65341-167c-41df-9b5c-41cded99c229"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.223384375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"region_snapshot_replacement_step","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"errors\":[],\"step_garbage_collect_invoked_ok\":[],\"step_invoked_ok\":[],\"step_records_created_ok\":[],\"step_set_volume_deleted_ok\":[]}","iteration":1,"elapsed":"2.369987352s"} {"msg":"webhook dispatching completed successfully","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.224578026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"alert_dispatcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","events_without_receivers":0,"events_dispatched":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.224820427Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"alert_dispatcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"dispatched\":[],\"errors\":[],\"glob_version\":\"264.0.0\",\"globs_reprocessed\":{},\"no_receivers\":[]}","iteration":1,"elapsed":"2.36847507s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.235236093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.363815459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.450675822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.450733842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.450757012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.450776922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.451191533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.453396876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.453443626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.453463256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.453479026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.453557446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.453580937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.453600197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.453618297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.453836147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"No bundles to collect","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:44.493286287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.493351857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"support_bundle_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"cleanup_err\":null,\"cleanup_report\":{\"db_destroying_bundles_removed\":0,\"db_failing_bundles_updated\":0,\"sled_bundles_delete_failed\":0,\"sled_bundles_deleted_not_found\":0,\"sled_bundles_deleted_ok\":0},\"collection_err\":null,\"collection_report\":null}","iteration":1,"elapsed":"2.705270134s"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.494071278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.494098958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.494121739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.494141469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.494642909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"sitrep GC completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:44.495599401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","child_tables":"{CaseEreport: ChildTableGcStats { rows_deleted: 0, batches: 1 }, AlertRequest: ChildTableGcStats { rows_deleted: 0, batches: 1 }, SupportBundleRequestDataSelectionFlags: ChildTableGcStats { rows_deleted: 0, batches: 1 }, SupportBundleRequestDataSelectionHostInfo: ChildTableGcStats { rows_deleted: 0, batches: 1 }, SupportBundleRequestDataSelectionEreports: ChildTableGcStats { rows_deleted: 0, batches: 1 }, SupportBundleRequest: ChildTableGcStats { rows_deleted: 0, batches: 1 }, Case: ChildTableGcStats { rows_deleted: 0, batches: 1 }}","sitreps_deleted":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.495829541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"batch_size\":1000,\"child_tables\":{\"fm_alert_request\":{\"batches\":1,\"rows_deleted\":0},\"fm_case\":{\"batches\":1,\"rows_deleted\":0},\"fm_ereport_in_case\":{\"batches\":1,\"rows_deleted\":0},\"fm_support_bundle_request\":{\"batches\":1,\"rows_deleted\":0},\"fm_support_bundle_request_data_selection_ereports\":{\"batches\":1,\"rows_deleted\":0},\"fm_support_bundle_request_data_selection_flags\":{\"batches\":1,\"rows_deleted\":0},\"fm_support_bundle_request_data_selection_host_info\":{\"batches\":1,\"rows_deleted\":0}},\"errors\":[],\"orphaned_sitreps_deleted\":0,\"sitrep_metadata_batches\":1}","iteration":1,"elapsed":"2.636790439s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.568327182Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.572008738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.572054278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.572073658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.572310368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.586223069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.588947413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.588989044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.589025414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.589420964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.591104607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.591135397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.591156147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.59327865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"finished distributing probes to sleds","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:44.595721124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","n_pushed_probes":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.595796834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"errors\":[],\"probes_by_sled\":{}}","iteration":1,"elapsed":"2.736226722s"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.646517732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Dependency"} {"msg":"VPC route manager running","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:44.646558252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.646573212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.646592852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.646612872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.646631222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.648488995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"failed to read Silo/DNS/TLS configuration","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:44.651685909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"Internal Error: expected at least one external DNS zone"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.651720139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"failed to read Silo/DNS/TLS configuration: Internal Error: expected at least one external DNS zone\"}","iteration":1,"elapsed":"2.890832808s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.65192768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.654918924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.654959884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.654978454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.655194905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.660115502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.680823754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"Vpc\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.680930764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.680949424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.680974604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.680992944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.681010244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.682077846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.685204741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.685271201Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.685306031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.685323891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.731930232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.797802342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.810016861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.810080121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.810105881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.810172161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.810209291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.811064842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.83607286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.836123601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Inventory","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.836182001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.836202181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.836221461Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.84240061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:44.844423533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/sled-agents/b6d65341-167c-41df-9b5c-41cded99c229","method":"POST","req_id":"b5ddf9bc-b3bd-4b8d-86aa-c869e0dd6f66","remote_addr":"127.0.0.1:54070","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":630900,"response_code":204} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.845878195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"TargetReleaseConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.845928756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:44.845951986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.845972526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:44.846389656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.264841696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/v2p","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:45.266596459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:36065"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.271212646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"NexusClient","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","result":"Ok(Response { url: \"http://127.0.0.1:49805/sled-agents/b6d65341-167c-41df-9b5c-41cded99c229\", status: 204, headers: {\"x-request-id\": \"b5ddf9bc-b3bd-4b8d-86aa-c869e0dd6f66\", \"date\": \"Wed, 10 Jun 2026 21:34:44 GMT\"} })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:45.287962971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:45.290242715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.290304645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.294542341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.295564143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.304135956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:45.304224946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.304276146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.304708287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.306151979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.328727004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:45.328848074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.328910554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.329299265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.330558916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.342099614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Inventory","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:45.342187594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.342240264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.342811295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.345059129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.392645231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"TargetReleaseConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:45.392710951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.392732362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.394226084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"Running step configure_boundary_ntp","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.409341677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"Running step start_crucible_pantry","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.417356469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.41801899Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/crucible/pantry/0","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.41805642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/crucible/pantry/0/job/{id}/is-finished","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.41807962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/crucible/pantry/0/job/{id}/ok","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.41810052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/crucible/pantry/0/volume/{id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.4181197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/crucible/pantry/0/volume/{id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.41814103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/crucible/pantry/0/volume/{id}","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.4181623Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/crucible/pantry/0/volume/{id}/background","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.41818928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/crucible/pantry/0/volume/{id}/bulk-write","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.41820758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/crucible/pantry/0/volume/{id}/import-from-url","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.41822594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/crucible/pantry/0/volume/{id}/scrub","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.418287251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all","path":"/crucible/pantry/0/volume/{id}/snapshot","method":"POST"} {"msg":"listening","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:45.418310271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"successfully registered DTrace USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.418585681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"Started Simulated Crucible Pantry","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:45.418605271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","address":"[::1]:52140"} {"msg":"Running step populate_internal_dns","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.418621791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"Populating Internal DNS","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.418634771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"DNS population: DnsConfigParams {\n generation: Generation(\n 1,\n ),\n serial: 1,\n time_created: 2026-06-10T21:34:45.646890440Z,\n zones: [\n DnsConfigZone {\n zone_name: \"control-plane.oxide.internal\",\n records: {\n \"_external-dns._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 47803,\n target: \"54ea84a1-fcdf-409a-93c5-25cd3572809f.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_crucible-pantry._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 52140,\n target: \"f4f1773f-5ed6-4cac-8446-bbfd1897af78.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_boundary-ntp._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 123,\n target: \"7b6b0737-8a98-4803-a77e-125749410fc5.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_nexus._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 49805,\n target: \"913233fe-92a8-4635-9572-183f495429c4.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"boundary-ntp\": [\n Aaaa(\n ::1,\n ),\n ],\n \"_mgd._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 53460,\n target: \"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_nexus-lockstep._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 42712,\n target: \"913233fe-92a8-4635-9572-183f495429c4.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_oximeter-reader._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 9000,\n target: \"73ac8b6e-2f92-4d82-b4bd-b4de06c53dc6.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"ns1\": [\n Aaaa(\n ::1,\n ),\n ],\n \"913233fe-92a8-4635-9572-183f495429c4.host\": [\n Aaaa(\n ::ffff:127.0.0.1,\n ),\n ],\n \"_dendrite._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 53876,\n target: \"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"7b6b0737-8a98-4803-a77e-125749410fc5.host\": [\n Aaaa(\n ::1,\n ),\n ],\n \"f4f1773f-5ed6-4cac-8446-bbfd1897af78.host\": [\n Aaaa(\n ::1,\n ),\n ],\n \"_clickhouse-admin-single-server._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 8888,\n target: \"73ac8b6e-2f92-4d82-b4bd-b4de06c53dc6.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_nameservice._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 42670,\n target: \"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host\": [\n Aaaa(\n ::1,\n ),\n ],\n \"2b896664-4be8-4949-9edf-d2738c3845a3.host\": [\n Aaaa(\n ::1,\n ),\n ],\n \"@\": [\n Ns(\n \"ns1.control-plane.oxide.internal\",\n ),\n ],\n \"_clickhouse._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 57712,\n target: \"73ac8b6e-2f92-4d82-b4bd-b4de06c53dc6.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"54ea84a1-fcdf-409a-93c5-25cd3572809f.host\": [\n Aaaa(\n ::1,\n ),\n ],\n \"b6d65341-167c-41df-9b5c-41cded99c229.sled\": [\n Aaaa(\n ::1,\n ),\n ],\n \"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e.host\": [\n Aaaa(\n ::1,\n ),\n ],\n \"_repo-depot._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 50959,\n target: \"b6d65341-167c-41df-9b5c-41cded99c229.sled.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_clickhouse-native._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 9000,\n target: \"73ac8b6e-2f92-4d82-b4bd-b4de06c53dc6.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_cockroach._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 54443,\n target: \"2b896664-4be8-4949-9edf-d2738c3845a3.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_mgs._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 57153,\n target: \"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"73ac8b6e-2f92-4d82-b4bd-b4de06c53dc6.host\": [\n Aaaa(\n ::1,\n ),\n ],\n },\n },\n ],\n}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:45.647397241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.649795105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"body":"Some(Body)","uri":"http://[::1]:42670/config","method":"PUT"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:45.651386407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"d2453041-e22b-43e5-b39c-f05e2c7f768c","remote_addr":"[::1]:36065","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.651445607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"d2453041-e22b-43e5-b39c-f05e2c7f768c","remote_addr":"[::1]:36065","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:45.651921278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"d2453041-e22b-43e5-b39c-f05e2c7f768c","remote_addr":"[::1]:36065","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":555,"response_code":200} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:45.652363138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:45.652660819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.652691199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.6534681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:45.654567212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:45.654594932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:45.654616292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.654638232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.654983982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"inventory_prune_one: nothing eligible for removal (too few)","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.655737134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","candidates":"[]"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:45.656319434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_mgs._tcp.control-plane.oxide.internal"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:45.657288036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server","remote_addr":"[::1]:40436"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.66647984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d2453041-e22b-43e5-b39c-f05e2c7f768c\", \"content-length\": \"2\", \"date\": \"Wed, 10 Jun 2026 21:34:45 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:45.66667721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","interfaces":"{}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:45.66669669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"v2p mappings to add","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:45.66671232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.666878991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":1,"elapsed":"3.870996566s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.716075056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.75172564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:45.75178343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.75180601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.759396691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.93545132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.939981107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:45.940061497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.940086307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.940276308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"tuf_repo_prune decision","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:45.944222804Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"TufRepoPrunerDetails { nkeep_recent_releases: 3, nkeep_recent_uploads: 2, repos_keep_target_release: {}, repos_keep_recent_uploads: {}, repo_prune: None, other_repos_eligible_to_prune: {}, warnings: [] }"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:45.944382904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_repo_pruner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"nkeep_recent_releases\":3,\"nkeep_recent_uploads\":2,\"other_repos_eligible_to_prune\":[],\"repo_prune\":null,\"repos_keep_recent_uploads\":[],\"repos_keep_target_release\":[],\"status\":\"enabled\",\"warnings\":[]}","iteration":2,"elapsed":"2.852133898s"} {"msg":"VPC route manager sled b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.116962638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.117040538Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/vpc-routes","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.120794644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:61811"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.121512545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:32358","req_id":"b41c3aef-d52d-41f2-bdbc-6b99b7c0c41b","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: ce be 01 00 00 01 00 00 00 00 00 01 04 5f 6d 67 ............._mg\n0010: 73 04 5f 74 63 70 0d 63 6f 6e 74 72 6f 6c 2d 70 s._tcp.control-p\n0020: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0030: 6e 61 6c 00 00 21 00 01 00 00 29 04 d0 00 00 00 nal..!....).....\n0040: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.121697225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:32358","req_id":"b41c3aef-d52d-41f2-bdbc-6b99b7c0c41b","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 52926,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 115,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 52926,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 115,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n} SERVFAIL: server is not authoritative for name: \"_mgs._tcp.control-plane.oxide.internal.\"","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:46.123576268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:32358","req_id":"b41c3aef-d52d-41f2-bdbc-6b99b7c0c41b","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.126184512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"generation\":1,\"last_run_counters\":{\"copy_err\":0,\"copy_ok\":0,\"list_err\":0,\"list_ok\":0,\"put_config_err\":0,\"put_config_ok\":0,\"put_err\":0,\"put_ok\":0},\"lifetime_counters\":{\"copy_err\":0,\"copy_ok\":0,\"list_err\":0,\"list_ok\":0,\"put_config_err\":0,\"put_config_ok\":0,\"put_err\":0,\"put_ok\":0},\"local_repos\":0,\"request_debug_ringbuf\":[]}","iteration":1,"elapsed":"4.271392307s"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.126243512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.126266592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.129061096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"inventory collection failed","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:46.213950896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"failed to collect inventory: proto error: no records found for Query { name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.214025906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"failed to collect inventory: proto error: no records found for Query { name: Name(\\\"_mgs._tcp.control-plane.oxide.internal.\\\"), query_type: SRV, query_class: IN }\"}","iteration":2,"elapsed":"1.377958806s"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.214321937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/config","method":"PUT","req_id":"f7afdb97-e25c-4a44-8bb0-f10511ed30d7","remote_addr":"[::1]:40436","local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.214363097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/config","method":"PUT","req_id":"f7afdb97-e25c-4a44-8bb0-f10511ed30d7","remote_addr":"[::1]:40436","local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server","version":"2.0.0"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.214536377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vpc-routes","method":"GET","req_id":"c4bd748c-b070-4fdc-929e-52c2e50b3eb1","remote_addr":"[::1]:61811","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.215398338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vpc-routes","method":"GET","req_id":"c4bd748c-b070-4fdc-929e-52c2e50b3eb1","remote_addr":"[::1]:61811","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"attempting generation update","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.220253146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_generation":1,"req_id":"f7afdb97-e25c-4a44-8bb0-f10511ed30d7","component":"store","component":"internal_dns_server"} {"msg":"pruning trees for generations newer than 0","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.220641636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server"} {"msg":"creating tree","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.220679466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","tree_name":"generation_1_zone_control-plane.oxide.internal"} {"msg":"updating current config","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.221498308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server"} {"msg":"flushing default tree","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.221727798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server"} {"msg":"pruning trees for generations older than 1","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.221862098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","keep":3} {"msg":"updated generation","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.221878518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_generation":1,"req_id":"f7afdb97-e25c-4a44-8bb0-f10511ed30d7","component":"store","component":"internal_dns_server"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.222350519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/config","method":"PUT","req_id":"f7afdb97-e25c-4a44-8bb0-f10511ed30d7","remote_addr":"[::1]:40436","local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server","latency_us":8045,"response_code":204} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.222439239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vpc-routes","method":"GET","req_id":"c4bd748c-b070-4fdc-929e-52c2e50b3eb1","remote_addr":"[::1]:61811","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":7905,"response_code":200} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.222570349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.222598159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.230561262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.234270597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/vpc-routes\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"c4bd748c-b070-4fdc-929e-52c2e50b3eb1\", \"content-length\": \"2\", \"date\": \"Wed, 10 Jun 2026 21:34:46 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.234676698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.234745588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.235204339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.239370765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(Response { url: \"http://[::1]:42670/config\", status: 204, headers: {\"x-request-id\": \"f7afdb97-e25c-4a44-8bb0-f10511ed30d7\", \"date\": \"Wed, 10 Jun 2026 21:34:46 GMT\"} })"} {"msg":"Running step configure_sled_agents","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.239715326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.36067473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"body":"Some(Body)","uri":"http://[::1]:62019/omicron-config","method":"PUT"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.369003053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.369053413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.369488204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.378047427Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:41733"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.382585074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.382648134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.382671814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.382693394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.383362395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.385056028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/omicron-config","method":"PUT","req_id":"748cb38e-bffc-441a-9a9f-a00cd2d58414","remote_addr":"[::1]:41733","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.385103508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/omicron-config","method":"PUT","req_id":"748cb38e-bffc-441a-9a9f-a00cd2d58414","remote_addr":"[::1]:41733","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.400724242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/omicron-config","method":"PUT","req_id":"748cb38e-bffc-441a-9a9f-a00cd2d58414","remote_addr":"[::1]:41733","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":15675,"response_code":204} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.403424096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.403458006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.403720566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.404273357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.413119141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(Response { url: \"http://[::1]:62019/omicron-config\", status: 204, headers: {\"x-request-id\": \"748cb38e-bffc-441a-9a9f-a00cd2d58414\", \"date\": \"Wed, 10 Jun 2026 21:34:46 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.413731212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"body":"Some(Body)","uri":"http://[::1]:62019/network-bootstore-config","method":"PUT"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.414766803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.414813913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.414837123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.415437304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"computed internet gateway mappings for sled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.417931018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","assocs":"{}","sled":"SimGimlet00"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.418105158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:62019/eip-gateways","method":"PUT"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.421805064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/network-bootstore-config","method":"PUT","req_id":"08bb41b4-8eba-450d-969d-295e39b5dd6b","remote_addr":"[::1]:41733","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.421859754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/network-bootstore-config","method":"PUT","req_id":"08bb41b4-8eba-450d-969d-295e39b5dd6b","remote_addr":"[::1]:41733","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.426221901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/eip-gateways","method":"PUT","req_id":"5fe2a530-c006-4341-939d-41c6a22fad40","remote_addr":"[::1]:61811","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.426297021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/eip-gateways","method":"PUT","req_id":"5fe2a530-c006-4341-939d-41c6a22fad40","remote_addr":"[::1]:61811","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.432637571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/network-bootstore-config","method":"PUT","req_id":"08bb41b4-8eba-450d-969d-295e39b5dd6b","remote_addr":"[::1]:41733","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":10844,"response_code":204} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.433604012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/eip-gateways","method":"PUT","req_id":"5fe2a530-c006-4341-939d-41c6a22fad40","remote_addr":"[::1]:61811","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":7385,"response_code":204} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.435017094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/eip-gateways\", status: 204, headers: {\"x-request-id\": \"5fe2a530-c006-4341-939d-41c6a22fad40\", \"date\": \"Wed, 10 Jun 2026 21:34:46 GMT\"} })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.435134054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":2,"elapsed":"1.788641863s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.435319565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.441791965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"Vpc\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.443766118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.443793848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.443813358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.443832648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.443851908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.444707139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.448467115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(Response { url: \"http://[::1]:62019/network-bootstore-config\", status: 204, headers: {\"x-request-id\": \"08bb41b4-8eba-450d-969d-295e39b5dd6b\", \"date\": \"Wed, 10 Jun 2026 21:34:46 GMT\"} })"} {"msg":"Running step start_nexus_external","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.448588005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"Starting Nexus (external API)","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.448606425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.456905028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.470361748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.470422648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.470469698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.474485814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.475931667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.476007887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.476405517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"fetched allowlist from DB","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.486617173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","allowed":"AllowList { id: 001de000-a110-4000-8000-000000000000, time_created: 2026-06-10T21:34:19.406206Z, time_modified: 2026-06-10T21:34:19.406206Z, allowed_ips: None }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.486668523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.486691173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.487105304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.49778114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.49787488Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.498397541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.50445395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.50451219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.505816872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.511466221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.511524811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.511841542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.522493548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000002, lookup_type: ByName(\"nexus\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.522607058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.522633518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.522656218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.53697188Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.539424954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.539466844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.539489134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.540012475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.547370316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.548304197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.548357067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.548587948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.566697705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.566750746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.567339216Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.571732203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.617491383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000002, lookup_type: ByName(\"nexus\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"VpcSubnet\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.617607363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.617625793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000002, lookup_type: ByName(\"nexus\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.617653813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.617677413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.617698953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.617974394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.634343169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.634413679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.634435079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.634733859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.637898304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.638115625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.638153105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.638429315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.653210578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.688957502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000002, lookup_type: ByName(\"nexus\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.689013472Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.689032903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.689522313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.69370269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.69379191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.69384976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.69390834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.717056415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.717880657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.717928957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.718422397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.725271148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.728009362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.728413403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.728637233Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.729067504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.731333417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.731378117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.731935878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.744127777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.744174787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.744536337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.74633646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.74636391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.746673041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.753766751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.753812602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.754287812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"set cockroachdb setting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.754795173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","value":"22.1","setting":"cluster.preserve_downgrade_option"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.754887293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.754908813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.755159073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.756521825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000001, lookup_type: ByName(\"external-dns\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.756574585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.756596755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.756617155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.756808145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.75963905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Rack { parent: Fleet, key: c19a698f-c6f9-4a17-ae30-20d711b8f7dc, lookup_type: ById(c19a698f-c6f9-4a17-ae30-20d711b8f7dc) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.75971816Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.75976948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.75978988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.76013431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.762783274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.766029309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Rack { parent: Fleet, key: c19a698f-c6f9-4a17-ae30-20d711b8f7dc, lookup_type: ById(c19a698f-c6f9-4a17-ae30-20d711b8f7dc) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"updating rack subnet for rack c19a698f-c6f9-4a17-ae30-20d711b8f7dc to Some(\n V6(\n Ipv6Network {\n addr: fd00:1122:3344:100::,\n prefix: 56,\n },\n ),\n)","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.766066979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.766082719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.766102579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.76650949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.766944301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.766971931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.766993041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.767183031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.768793414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.768839374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.768864014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.769071474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"Recording Rack Network Configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.769608455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.769633395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.769651545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.769895005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.771276237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.782609305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000001, lookup_type: ByName(\"external-dns\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"VpcSubnet\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.782673595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.782691045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000001, lookup_type: ByName(\"external-dns\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.782722425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.782941795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.782973265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.783705116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.78594297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.78599288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.78601714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.78603844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.78606629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.78638553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.795529294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.795581515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.795602525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.796039475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.79919447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.806665701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.806719032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.806738832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.806949082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.810250697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.810299497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.810324977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.810802478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"reconfigurator config load complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.812707401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","switches":"Loaded(ReconfiguratorConfigView { version: 1, config: ReconfiguratorConfig { planner_enabled: false, planner_config: PlannerConfig, tuf_repo_pruner_enabled: true }, time_modified: 2026-06-10T21:34:41.697639Z })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.812787121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"config_updated\":false}","iteration":2,"elapsed":"26.799371ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.817278168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.83205983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000001, lookup_type: ByName(\"external-dns\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.8321243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.83214925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.832581611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"resolved names for firewall rules","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.858456071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","subnet_networks":"{Name(\"nexus\"): [V4(Ipv4Network { addr: 172.30.2.0, prefix: 24 }), V6(Ipv6Network { addr: fd77:e9d2:9cd9:2::, prefix: 64 })], Name(\"external-dns\"): [V4(Ipv4Network { addr: 172.30.1.0, prefix: 24 }), V6(Ipv6Network { addr: fd77:e9d2:9cd9:1::, prefix: 64 })]}","subnet_interfaces":"{}","vpc_interfaces":"{}","instance_interfaces":"{}"} {"msg":"resolved firewall rules for sled agents","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.858607711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","sled_agent_rules":"[]"} {"msg":"resolved 0 rules for sleds","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.858650841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.874051135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.874102075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.874125915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.874146755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.874553635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.88437538Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.886604094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.886673394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.886726114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.887106344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.894667626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: e9047dc7-0678-4c40-9e14-9d1658c1afe7, lookup_type: ByName(\"oxide-service-pool-v4\") }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.895930778Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.895983908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.896004468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.896386509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.904323961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.912986914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: e9047dc7-0678-4c40-9e14-9d1658c1afe7, lookup_type: ByName(\"oxide-service-pool-v4\") }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.913033924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.913056304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.913380525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.915987259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: bfce8c24-8fa3-4032-9b2f-8d8256b51277, lookup_type: ByName(\"oxide-service-pool-v6\") }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.916041599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.916451209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.91661982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.91666821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.922589499Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.926631795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: bfce8c24-8fa3-4032-9b2f-8d8256b51277, lookup_type: ByName(\"oxide-service-pool-v6\") }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.926728385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.926752495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.927081216Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.931776423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: bfce8c24-8fa3-4032-9b2f-8d8256b51277, lookup_type: ByName(\"oxide-service-pool-v6\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.931812293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.931833313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.931856693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.932417584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.935083458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.940846257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: bfce8c24-8fa3-4032-9b2f-8d8256b51277, lookup_type: ByName(\"oxide-service-pool-v6\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.953520376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: e9047dc7-0678-4c40-9e14-9d1658c1afe7, lookup_type: ByName(\"oxide-service-pool-v4\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.953575666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.953597626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.953618616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.953958477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.958426004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.96252243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: e9047dc7-0678-4c40-9e14-9d1658c1afe7, lookup_type: ByName(\"oxide-service-pool-v4\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.972420895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: e9047dc7-0678-4c40-9e14-9d1658c1afe7, lookup_type: ByName(\"oxide-service-pool-v4\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.972476475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.972500235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.972521395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.973229556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.976654191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.979554576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: e9047dc7-0678-4c40-9e14-9d1658c1afe7, lookup_type: ByName(\"oxide-service-pool-v4\") }","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"resolved sleds for vpc oxide-services","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.979685126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","vpc_to_sled":"[]"} {"msg":"sending firewall rules to sled agents","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.979712006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"updated firewall rules on 0 sleds","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:46.979734666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"successfully propagated service firewall rules","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.979754676Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","elapsed":"5.178634103s"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.979776956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"lookup_error\":null,\"sled_push_errors\":null}","iteration":1,"elapsed":"5.178710263s"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.988283799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"BlueprintConfig","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.988324209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:46.988345679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.988363719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.98881026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.994760329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:46.997362303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"BlueprintConfig","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"inserted blueprint","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.109977435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","blueprint_id":"e31324af-2d15-4fff-8635-cbe8d0af293a"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.110061505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"BlueprintConfig","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.110081875Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.110102095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.110122345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.113780361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.124658978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.130852067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"BlueprintConfig","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"No networking records needed for cockroach_db service","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.144530718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Inserted networking records for external_dns service","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.185789821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"No networking records needed for clickhouse service","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.185838921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Inserted networking records for boundary_ntp service","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.213538204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Inserted networking records for nexus service","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.235921288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"No networking records needed for internal_dns service","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.235990608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"No networking records needed for crucible_pantry service","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.236009428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Inserted service networking records","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.236026168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Inserted physical disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.236040928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Inserted zpools","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.236054288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Inserted datasets","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.236067718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Populated DNS tables for internal DNS","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.255569568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Populated DNS tables for external DNS","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.261529837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.261826077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.261870437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.261891467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.261912697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.262480618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.26994084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.27683108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"CreateChild","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.27693099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ModifyPolicy","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.276982111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.277018721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.277044631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.277326911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.287399326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.28975855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ModifyPolicy","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.318685604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"DnsConfig","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.318725224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.318744934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.318818895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.321583439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.324320763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.336242571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"DnsConfig","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.336362151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.346665607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.346735327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.346754827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.347323548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.350139802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.363521793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.36838072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.36841348Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.36846762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.368609921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.372755977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.380456049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.386014647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"Created recovery silo","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.412392838Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Created recovery user","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.41415208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Created recovery user's password","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.422572703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.422621353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: e012aadf-ccd1-4b06-8988-d3477ccbe049, lookup_type: ById(e012aadf-ccd1-4b06-8988-d3477ccbe049) }","action":"ModifyPolicy","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.422645053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"e012aadf-ccd1-4b06-8988-d3477ccbe049","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.422665793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.422683933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.423272734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.42707982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.4271433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.42716393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.428618512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.438271877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.442462524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: e012aadf-ccd1-4b06-8988-d3477ccbe049, lookup_type: ById(e012aadf-ccd1-4b06-8988-d3477ccbe049) }","action":"ModifyPolicy","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"Generated role assignment queries","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.442548734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Granted Silo privileges","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.44649547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.44654581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.44656833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.44658871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.44660738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.447061571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.452123958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.460211021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.463024685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"TrustQuorumConfig(Rack { parent: Fleet, key: c19a698f-c6f9-4a17-ae30-20d711b8f7dc, lookup_type: ById(c19a698f-c6f9-4a17-ae30-20d711b8f7dc) })","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.463062435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.463083965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.463103825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.463911526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.468128343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.473514001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"TrustQuorumConfig(Rack { parent: Fleet, key: c19a698f-c6f9-4a17-ae30-20d711b8f7dc, lookup_type: ById(c19a698f-c6f9-4a17-ae30-20d711b8f7dc) })","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.509872797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Signaled"} {"msg":"reading DNS version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.510054507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"internal","background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.510075357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.510137717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.510154497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.510711638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_servers_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Signaled"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.510739078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_nameservice._tcp.control-plane.oxide.internal"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.510899458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Signaled"} {"msg":"reading DNS version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.510920798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"external","background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.510952368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.510973428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.511226389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.511767029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_servers_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Signaled"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.51182232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_external-dns._tcp.control-plane.oxide.internal"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.51184427Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.51186523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.51188826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.51211051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.51217081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.51218988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.512606441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":3,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.512764821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Inventory","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.512786211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.512921801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.512943321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.512960561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.513242792Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.513291772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.513316632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.513404302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.513427852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.513497082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.516893857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:9031","req_id":"541d275a-6b4f-4bf7-8c2f-f7ecef5b89a2","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 75 (0x4b) bytes\n0000: 17 95 01 00 00 01 00 00 00 00 00 01 0c 5f 6e 61 ............._na\n0010: 6d 65 73 65 72 76 69 63 65 04 5f 74 63 70 0d 63 meservice._tcp.c\n0020: 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 ontrol-plane.oxi\n0030: 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 de.internal..!..\n0040: 00 00 29 04 d0 00 00 00 00 00 00 ..)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.516967307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:9031","req_id":"541d275a-6b4f-4bf7-8c2f-f7ecef5b89a2","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 6037,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_nameservice._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_nameservice._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 12,\n 95,\n 110,\n 97,\n 109,\n 101,\n 115,\n 101,\n 114,\n 118,\n 105,\n 99,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.517240978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_nameservice._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.517400448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.517475668Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:9031","req_id":"541d275a-6b4f-4bf7-8c2f-f7ecef5b89a2","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_nameservice._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 42670, target: Name(\"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_nameservice._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_nameservice._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.517560598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:30272","req_id":"30b3553b-a3eb-49fb-942c-b06e6dab8f96","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 76 (0x4c) bytes\n0000: dd 6d 01 00 00 01 00 00 00 00 00 01 0d 5f 65 78 .m..........._ex\n0010: 74 65 72 6e 61 6c 2d 64 6e 73 04 5f 74 63 70 0d ternal-dns._tcp.\n0020: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0030: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 21 00 ide.internal..!.\n0040: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.517587518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:30272","req_id":"30b3553b-a3eb-49fb-942c-b06e6dab8f96","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 56685,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_external-dns._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_external-dns._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 13,\n 95,\n 101,\n 120,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 45,\n 100,\n 110,\n 115,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.517661029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_external-dns._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.517686519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"54ea84a1-fcdf-409a-93c5-25cd3572809f.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.517732529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:30272","req_id":"30b3553b-a3eb-49fb-942c-b06e6dab8f96","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"54ea84a1-fcdf-409a-93c5-25cd3572809f.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_external-dns._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 47803, target: Name(\"54ea84a1-fcdf-409a-93c5-25cd3572809f.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_external-dns._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_external-dns._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.517788779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.517867359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.517892399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.517913129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.519274121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.519958822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.519995882Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.520017722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.520038522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.520412973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.521581964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_nameservice._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_nameservice._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 42670, target: Name(\"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1127, tv_nsec: 982452643 } })","dns_name":"_nameservice._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.521624075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e.host.control-plane.oxide.internal.\")"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.521857855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_external-dns._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_external-dns._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 47803, target: Name(\"54ea84a1-fcdf-409a-93c5-25cd3572809f.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"54ea84a1-fcdf-409a-93c5-25cd3572809f.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1127, tv_nsec: 982768764 } })","dns_name":"_external-dns._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.521892575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"54ea84a1-fcdf-409a-93c5-25cd3572809f.host.control-plane.oxide.internal.\")"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.522232735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.528457055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.528505835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.528526385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.528802806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.529638697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.534732885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Inventory","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.534790235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.534811915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.544202369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.545272451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.553802664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.553866324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.553907484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.559491652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.563583889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.59087829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.591330611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.59704743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.601359566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:23137","req_id":"92d85701-e234-44d3-bafa-c48556dc590e","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 99 (0x63) bytes\n0000: 4c 4f 01 00 00 01 00 00 00 00 00 01 24 64 37 35 LO..........$d75\n0010: 35 31 34 61 35 2d 31 64 35 65 2d 34 65 30 63 2d 514a5-1d5e-4e0c-\n0020: 62 37 36 39 2d 64 64 66 38 64 33 66 34 31 36 35 b769-ddf8d3f4165\n0030: 65 04 68 6f 73 74 0d 63 6f 6e 74 72 6f 6c 2d 70 e.host.control-p\n0040: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0050: 6e 61 6c 00 00 1c 00 01 00 00 29 04 d0 00 00 00 nal.......).....\n0060: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.601451617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:23137","req_id":"92d85701-e234-44d3-bafa-c48556dc590e","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 19535,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 36,\n 100,\n 55,\n 53,\n 53,\n 49,\n 52,\n 97,\n 53,\n 45,\n 49,\n 100,\n 53,\n 101,\n 45,\n 52,\n 101,\n 48,\n 99,\n 45,\n 98,\n 55,\n 54,\n 57,\n 45,\n 100,\n 100,\n 102,\n 56,\n 100,\n 51,\n 102,\n 52,\n 49,\n 54,\n 53,\n 101,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.601733527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.601796777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:23137","req_id":"92d85701-e234-44d3-bafa-c48556dc590e","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.602084138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:48616","req_id":"753805d9-1e75-4305-9168-e2e459ad7965","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 99 (0x63) bytes\n0000: 7e 3b 01 00 00 01 00 00 00 00 00 01 24 35 34 65 ~;..........$54e\n0010: 61 38 34 61 31 2d 66 63 64 66 2d 34 30 39 61 2d a84a1-fcdf-409a-\n0020: 39 33 63 35 2d 32 35 63 64 33 35 37 32 38 30 39 93c5-25cd3572809\n0030: 66 04 68 6f 73 74 0d 63 6f 6e 74 72 6f 6c 2d 70 f.host.control-p\n0040: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0050: 6e 61 6c 00 00 1c 00 01 00 00 29 04 d0 00 00 00 nal.......).....\n0060: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.602115818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:48616","req_id":"753805d9-1e75-4305-9168-e2e459ad7965","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 32315,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"54ea84a1-fcdf-409a-93c5-25cd3572809f.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"54ea84a1-fcdf-409a-93c5-25cd3572809f.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 36,\n 53,\n 52,\n 101,\n 97,\n 56,\n 52,\n 97,\n 49,\n 45,\n 102,\n 99,\n 100,\n 102,\n 45,\n 52,\n 48,\n 57,\n 97,\n 45,\n 57,\n 51,\n 99,\n 53,\n 45,\n 50,\n 53,\n 99,\n 100,\n 51,\n 53,\n 55,\n 50,\n 56,\n 48,\n 57,\n 102,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.602280038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"54ea84a1-fcdf-409a-93c5-25cd3572809f.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.602303078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:48616","req_id":"753805d9-1e75-4305-9168-e2e459ad7965","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"54ea84a1-fcdf-409a-93c5-25cd3572809f.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"54ea84a1-fcdf-409a-93c5-25cd3572809f.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"54ea84a1-fcdf-409a-93c5-25cd3572809f.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"found DNS servers (initial)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.602785949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_servers_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","addresses":"DnsServersList { addresses: [[::1]:42670] }"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.602850089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_servers_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"addresses\":[\"[::1]:42670\"]}","iteration":2,"elapsed":"92.197701ms"} {"msg":"found DNS servers (initial)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:47.602943359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_servers_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","addresses":"DnsServersList { addresses: [[::1]:47803] }"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.607383316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_servers_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"addresses\":[\"[::1]:47803\"]}","iteration":2,"elapsed":"95.585037ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.607434746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Dependency"} {"msg":"DNS propagation: skipped","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:47.607456476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reason":"no config"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.607477806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"no config\"}","iteration":2,"elapsed":"20.02µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.607497706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Dependency"} {"msg":"DNS propagation: skipped","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:47.607519036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reason":"no config"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.607537956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"no config\"}","iteration":2,"elapsed":"7.54µs"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.607556706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Blueprint { parent: Fleet, key: e31324af-2d15-4fff-8635-cbe8d0af293a, lookup_type: ById(e31324af-2d15-4fff-8635-cbe8d0af293a) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.607577436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.607596506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.607615296Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.608050407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.60991912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.60996579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.61001641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.61004132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.611354512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"inventory_prune_one: nothing eligible for removal (too few)","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.612306643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","candidates":"[]"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.612349923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_mgs._tcp.control-plane.oxide.internal"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.612814004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:34240","req_id":"b902dc61-706f-47e8-af51-ea073a2d0c2b","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: df 82 01 00 00 01 00 00 00 00 00 01 04 5f 6d 67 ............._mg\n0010: 73 04 5f 74 63 70 0d 63 6f 6e 74 72 6f 6c 2d 70 s._tcp.control-p\n0020: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0030: 6e 61 6c 00 00 21 00 01 00 00 29 04 d0 00 00 00 nal..!....).....\n0040: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.612899974Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:34240","req_id":"b902dc61-706f-47e8-af51-ea073a2d0c2b","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 57218,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 115,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.613354575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_mgs._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.613638225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.617198511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:34240","req_id":"b902dc61-706f-47e8-af51-ea073a2d0c2b","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 57153, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_mgs._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.617380371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.634452457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Blueprint { parent: Fleet, key: e31324af-2d15-4fff-8635-cbe8d0af293a, lookup_type: ById(e31324af-2d15-4fff-8635-cbe8d0af293a) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.634515407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.634536827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.634777848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.635663749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.650657802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.650709122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.650728632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.656411521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"found DNS version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.661147008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"internal","background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1"} {"msg":"reading DNS config","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.661174698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"internal","background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"reading DNS zones","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.661220908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"internal","background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.661239028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.661260778Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.661281878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.661304758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.661820449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"found DNS version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.663939932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"external","background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2"} {"msg":"reading DNS config","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.663983632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"external","background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"reading DNS zones","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.664002642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"external","background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.664019032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.664039102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.664060812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.664079732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.664738033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.673710947Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 57153, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1128, tv_nsec: 134610246 } })","dns_name":"_mgs._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.673782927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.67540442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.720157908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.720240698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.720288048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.731281655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.758220855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.772111887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.772214577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.772265617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.775990003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.777145674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.777195474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.777215174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.777235364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.777630325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.785203937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.804134756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.804222726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.804242596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.804875637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"found zones","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.808877983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"internal","background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","count":1} {"msg":"listing DNS names for zone","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.808934263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"internal","background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","batch_size":100,"found_so_far":0,"version":1,"dns_zone_name":"control-plane.oxide.internal","dns_zone_id":"8ac53b98-d4b6-43ff-a984-d5ba21645b9b"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.808961403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.808982883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.809004143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.809023143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.809307274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"found zones","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.810734076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"external","background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","count":1} {"msg":"listing DNS names for zone","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.810786956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"external","background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","batch_size":100,"found_so_far":0,"version":2,"dns_zone_name":"oxide-dev.test","dns_zone_id":"a3eb04de-a5ec-44fa-a45c-231832c9a47d"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.810813146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.810834106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.810858246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.810878176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.820981611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.822287583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:24965","req_id":"fc08ae34-3da1-429e-8afb-938a4b6352be","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: f9 3f 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e .?..........-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.822501834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:24965","req_id":"fc08ae34-3da1-429e-8afb-938a4b6352be","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 63807,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.825457118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.825535238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:24965","req_id":"fc08ae34-3da1-429e-8afb-938a4b6352be","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.825716439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.836559615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.836616845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.836639775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.836942666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.837823007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.847385582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"DnsConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:47.847458152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.847503732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:47.850410186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.012402184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_clickhouse-admin-keeper._tcp.control-plane.oxide.internal"} {"msg":"found all DNS names for zone","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.013498886Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"internal","background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","found_so_far":27,"version":1,"dns_zone_name":"control-plane.oxide.internal","dns_zone_id":"8ac53b98-d4b6-43ff-a984-d5ba21645b9b"} {"msg":"read DNS config","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.014135157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"internal","background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","nzones":1,"version":1} {"msg":"found latest generation (first find)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.014207667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","generation":1} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.014228267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"generation\":1}","iteration":2,"elapsed":"504.647251ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.014347097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":3,"reason":"Dependency"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.161384692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_server_url":"http://[::1]:42670","servers":"DnsServersList { addresses: [[::1]:42670] }","generation":1,"background_task":"dns_propagation_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:42670/config","method":"PUT"} {"msg":"found Silo/DNS/TLS config (initial)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.166222439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","config":"ExternalEndpoints { by_dns_name: {\"default-silo.sys.oxide-dev.test\": ExternalEndpoint { silo_id: 001de000-5110-4000-8000-000000000000, db_silo: Silo { identity: SiloIdentity { id: 001de000-5110-4000-8000-000000000000, name: Name(Name(\"default-silo\")), description: \"default silo\", time_created: 2026-06-10T21:34:40.397817Z, time_modified: 2026-06-10T21:34:40.397817Z, time_deleted: None }, discoverable: false, authentication_mode: Local, user_provision_type: ApiOnly, mapped_fleet_roles: Object {}, rcgen: Generation(Generation(1)), admin_group_name: None }, tls_certs: [] }, \"test-suite-silo.sys.oxide-dev.test\": ExternalEndpoint { silo_id: e012aadf-ccd1-4b06-8988-d3477ccbe049, db_silo: Silo { identity: SiloIdentity { id: e012aadf-ccd1-4b06-8988-d3477ccbe049, name: Name(Name(\"test-suite-silo\")), description: \"built-in recovery Silo\", time_created: 2026-06-10T21:34:47.261770Z, time_modified: 2026-06-10T21:34:47.261770Z, time_deleted: None }, discoverable: false, authentication_mode: Local, user_provision_type: ApiOnly, mapped_fleet_roles: Object {\"admin\": Array [String(\"admin\")]}, rcgen: Generation(Generation(1)), admin_group_name: None }, tls_certs: [] }}, warnings: [NoSiloCerts { silo_id: 001de000-5110-4000-8000-000000000000, dns_name: \"default-silo.sys.oxide-dev.test\" }, NoSiloCerts { silo_id: e012aadf-ccd1-4b06-8988-d3477ccbe049, dns_name: \"test-suite-silo.sys.oxide-dev.test\" }], default_endpoint: Some(ExternalEndpoint { silo_id: e012aadf-ccd1-4b06-8988-d3477ccbe049, db_silo: Silo { identity: SiloIdentity { id: e012aadf-ccd1-4b06-8988-d3477ccbe049, name: Name(Name(\"test-suite-silo\")), description: \"built-in recovery Silo\", time_created: 2026-06-10T21:34:47.261770Z, time_modified: 2026-06-10T21:34:47.261770Z, time_deleted: None }, discoverable: false, authentication_mode: Local, user_provision_type: ApiOnly, mapped_fleet_roles: Object {\"admin\": Array [String(\"admin\")]}, rcgen: Generation(Generation(1)), admin_group_name: None }, tls_certs: [] }) }"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.166299969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"external_endpoints","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"by_dns_name\":{\"default-silo.sys.oxide-dev.test\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"tls_certs\":[]},\"test-suite-silo.sys.oxide-dev.test\":{\"silo_id\":\"e012aadf-ccd1-4b06-8988-d3477ccbe049\",\"tls_certs\":[]}},\"default_endpoint\":{\"silo_id\":\"e012aadf-ccd1-4b06-8988-d3477ccbe049\",\"tls_certs\":[]},\"warnings\":[\"silo 001de000-5110-4000-8000-000000000000 with DNS name \\\"default-silo.sys.oxide-dev.test\\\" has no usable certificates\",\"silo e012aadf-ccd1-4b06-8988-d3477ccbe049 with DNS name \\\"test-suite-silo.sys.oxide-dev.test\\\" has no usable certificates\"]}","iteration":2,"elapsed":"654.433309ms"} {"msg":"found all DNS names for zone","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.16650068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"external","background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","found_so_far":3,"version":2,"dns_zone_name":"oxide-dev.test","dns_zone_id":"a3eb04de-a5ec-44fa-a45c-231832c9a47d"} {"msg":"read DNS config","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.16652808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_group":"external","background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","nzones":1,"version":2} {"msg":"found latest generation (first find)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.16654862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","generation":2} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.1665661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_config_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"generation\":2}","iteration":2,"elapsed":"655.666192ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.16658749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":3,"reason":"Dependency"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.311179231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_server_url":"http://[::1]:47803","servers":"DnsServersList { addresses: [[::1]:47803] }","generation":2,"background_task":"dns_propagation_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:47803/config","method":"PUT"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.312250372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server","remote_addr":"[::1]:43638"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.313145264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:47803","component":"http","kind":"dns","component":"external_dns_server","remote_addr":"[::1]:57593"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.314234535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/config","method":"PUT","req_id":"d45b316f-2def-4cca-8e58-24d0f8fee7ae","remote_addr":"[::1]:43638","local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.314263996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/config","method":"PUT","req_id":"d45b316f-2def-4cca-8e58-24d0f8fee7ae","remote_addr":"[::1]:43638","local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server","version":"2.0.0"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.314382776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/config","method":"PUT","req_id":"e01fa9ee-e3ac-4949-a608-d24d217b4db2","remote_addr":"[::1]:57593","local_addr":"[::1]:47803","component":"http","kind":"dns","component":"external_dns_server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.314403316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/config","method":"PUT","req_id":"e01fa9ee-e3ac-4949-a608-d24d217b4db2","remote_addr":"[::1]:57593","local_addr":"[::1]:47803","component":"http","kind":"dns","component":"external_dns_server","version":"2.0.0"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.314420316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:18288","req_id":"774dfa44-b098-4748-b40e-2f88df6246c2","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 87 (0x57) bytes\n0000: 1c 64 01 00 00 01 00 00 00 00 00 01 18 5f 63 6c .d..........._cl\n0010: 69 63 6b 68 6f 75 73 65 2d 61 64 6d 69 6e 2d 6b ickhouse-admin-k\n0020: 65 65 70 65 72 04 5f 74 63 70 0d 63 6f 6e 74 72 eeper._tcp.contr\n0030: 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 69 ol-plane.oxide.i\n0040: 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 04 nternal..!....).\n0050: d0 00 00 00 00 00 00 ......."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.314445996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:18288","req_id":"774dfa44-b098-4748-b40e-2f88df6246c2","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 7268,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_clickhouse-admin-keeper._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_clickhouse-admin-keeper._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 24,\n 95,\n 99,\n 108,\n 105,\n 99,\n 107,\n 104,\n 111,\n 117,\n 115,\n 101,\n 45,\n 97,\n 100,\n 109,\n 105,\n 110,\n 45,\n 107,\n 101,\n 101,\n 112,\n 101,\n 114,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.314570626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_clickhouse-admin-keeper._tcp"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 7268,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_clickhouse-admin-keeper._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_clickhouse-admin-keeper._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 24,\n 95,\n 99,\n 108,\n 105,\n 99,\n 107,\n 104,\n 111,\n 117,\n 115,\n 101,\n 45,\n 97,\n 100,\n 109,\n 105,\n 110,\n 45,\n 107,\n 101,\n 101,\n 112,\n 101,\n 114,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n} NXDOMAIN: _clickhouse-admin-keeper._tcp.control-plane.oxide.internal","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:48.314686226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:18288","req_id":"774dfa44-b098-4748-b40e-2f88df6246c2","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"attempting generation update","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.320523175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_generation":1,"req_id":"d45b316f-2def-4cca-8e58-24d0f8fee7ae","component":"store","component":"internal_dns_server"} {"msg":"updated generation","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.320608095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_generation":1,"req_id":"d45b316f-2def-4cca-8e58-24d0f8fee7ae","component":"store","component":"internal_dns_server"} {"msg":"attempting generation update","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.320924056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_generation":2,"req_id":"e01fa9ee-e3ac-4949-a608-d24d217b4db2","component":"store","component":"external_dns_server"} {"msg":"pruning trees for generations newer than 0","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.320977136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"external_dns_server"} {"msg":"creating tree","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.321024276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"external_dns_server","tree_name":"generation_2_zone_oxide-dev.test"} {"msg":"updating current config","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.321246756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"external_dns_server"} {"msg":"flushing default tree","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.321526897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"external_dns_server"} {"msg":"pruning trees for generations older than 2","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.321605817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"external_dns_server","keep":3} {"msg":"updated generation","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.321622507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_generation":2,"req_id":"e01fa9ee-e3ac-4949-a608-d24d217b4db2","component":"store","component":"external_dns_server"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.321644407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/config","method":"PUT","req_id":"d45b316f-2def-4cca-8e58-24d0f8fee7ae","remote_addr":"[::1]:43638","local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server","latency_us":7402,"response_code":204} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.321715307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/config","method":"PUT","req_id":"e01fa9ee-e3ac-4949-a608-d24d217b4db2","remote_addr":"[::1]:57593","local_addr":"[::1]:47803","component":"http","kind":"dns","component":"external_dns_server","latency_us":7354,"response_code":204} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.322425438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_cockroach._tcp.control-plane.oxide.internal"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.323144559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_server_url":"http://[::1]:42670","servers":"DnsServersList { addresses: [[::1]:42670] }","generation":1,"background_task":"dns_propagation_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:42670/config\", status: 204, headers: {\"x-request-id\": \"d45b316f-2def-4cca-8e58-24d0f8fee7ae\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"DNS server now at generation 1","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.323270109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_server_url":"http://[::1]:42670","servers":"DnsServersList { addresses: [[::1]:42670] }","generation":1,"background_task":"dns_propagation_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"DNS propagation: done","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.32403949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"servers":"DnsServersList { addresses: [[::1]:42670] }","generation":1,"background_task":"dns_propagation_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.324152151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"generation\":1,\"server_results\":{\"[::1]:42670\":{\"Ok\":null}}}","iteration":3,"elapsed":"309.825364ms"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.325695723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_server_url":"http://[::1]:47803","servers":"DnsServersList { addresses: [[::1]:47803] }","generation":2,"background_task":"dns_propagation_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:47803/config\", status: 204, headers: {\"x-request-id\": \"e01fa9ee-e3ac-4949-a608-d24d217b4db2\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"DNS server now at generation 2","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.325802743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"dns_server_url":"http://[::1]:47803","servers":"DnsServersList { addresses: [[::1]:47803] }","generation":2,"background_task":"dns_propagation_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"DNS propagation: done","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.326019854Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"servers":"DnsServersList { addresses: [[::1]:47803] }","generation":2,"background_task":"dns_propagation_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.326150334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"dns_propagation_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"generation\":2,\"server_results\":{\"[::1]:47803\":{\"Ok\":null}}}","iteration":3,"elapsed":"159.569964ms"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.328273247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:15742","req_id":"81b4b686-043a-478c-88d3-fdbae53fd97d","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 73 (0x49) bytes\n0000: 82 55 01 00 00 01 00 00 00 00 00 01 0a 5f 63 6f .U..........._co\n0010: 63 6b 72 6f 61 63 68 04 5f 74 63 70 0d 63 6f 6e ckroach._tcp.con\n0020: 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 trol-plane.oxide\n0030: 08 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 .internal..!....\n0040: 29 04 d0 00 00 00 00 00 00 )........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.328664638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:15742","req_id":"81b4b686-043a-478c-88d3-fdbae53fd97d","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 33365,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_cockroach._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_cockroach._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 10,\n 95,\n 99,\n 111,\n 99,\n 107,\n 114,\n 111,\n 97,\n 99,\n 104,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.328894588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_cockroach._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.329009528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"2b896664-4be8-4949-9edf-d2738c3845a3.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.329052588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:15742","req_id":"81b4b686-043a-478c-88d3-fdbae53fd97d","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"2b896664-4be8-4949-9edf-d2738c3845a3.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_cockroach._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 54443, target: Name(\"2b896664-4be8-4949-9edf-d2738c3845a3.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_cockroach._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_cockroach._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.335151487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_cockroach._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_cockroach._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 54443, target: Name(\"2b896664-4be8-4949-9edf-d2738c3845a3.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"2b896664-4be8-4949-9edf-d2738c3845a3.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1128, tv_nsec: 796038756 } })","dns_name":"_cockroach._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.335211838Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"2b896664-4be8-4949-9edf-d2738c3845a3.host.control-plane.oxide.internal.\")"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.342152838Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:32884","req_id":"35537e19-6ffc-47a6-8b11-1de304c51591","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 99 (0x63) bytes\n0000: ae 6b 01 00 00 01 00 00 00 00 00 01 24 32 62 38 .k..........$2b8\n0010: 39 36 36 36 34 2d 34 62 65 38 2d 34 39 34 39 2d 96664-4be8-4949-\n0020: 39 65 64 66 2d 64 32 37 33 38 63 33 38 34 35 61 9edf-d2738c3845a\n0030: 33 04 68 6f 73 74 0d 63 6f 6e 74 72 6f 6c 2d 70 3.host.control-p\n0040: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0050: 6e 61 6c 00 00 1c 00 01 00 00 29 04 d0 00 00 00 nal.......).....\n0060: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.342268928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:32884","req_id":"35537e19-6ffc-47a6-8b11-1de304c51591","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 44651,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"2b896664-4be8-4949-9edf-d2738c3845a3.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"2b896664-4be8-4949-9edf-d2738c3845a3.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 36,\n 50,\n 98,\n 56,\n 57,\n 54,\n 54,\n 54,\n 52,\n 45,\n 52,\n 98,\n 101,\n 56,\n 45,\n 52,\n 57,\n 52,\n 57,\n 45,\n 57,\n 101,\n 100,\n 102,\n 45,\n 100,\n 50,\n 55,\n 51,\n 56,\n 99,\n 51,\n 56,\n 52,\n 53,\n 97,\n 51,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.342420579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"2b896664-4be8-4949-9edf-d2738c3845a3.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.342477819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:32884","req_id":"35537e19-6ffc-47a6-8b11-1de304c51591","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"2b896664-4be8-4949-9edf-d2738c3845a3.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"2b896664-4be8-4949-9edf-d2738c3845a3.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"2b896664-4be8-4949-9edf-d2738c3845a3.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"Updated CockroachDB cluster backends","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.42869541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"CockroachClusterAdminClient","component":"inventory_cockroach_client","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","addresses":"[[::1]:32222]","total":1,"removed":0,"added":1} {"msg":"begin collection","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.428969321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"begin collection from MGS","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.428995951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mgs_url":"http://[::1]:57153"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.429214941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/ignition","method":"GET"} {"msg":"found new target blueprint (first find)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.439212097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","time_created":"2026-06-10 21:34:46.448829 UTC","target_id":"e31324af-2d15-4fff-8635-cbe8d0af293a"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.439294797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"enabled\":false,\"status\":\"first target blueprint\",\"target_id\":\"e31324af-2d15-4fff-8635-cbe8d0af293a\",\"time_created\":\"2026-06-10T21:34:46.448829Z\",\"time_found\":\"2026-06-10T21:34:48.439244817Z\"}","iteration":2,"elapsed":"926.045965ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.439418637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":3,"reason":"Dependency"} {"msg":"blueprint planning disabled, doing nothing","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.439439787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.439459867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"Disabled\"","iteration":3,"elapsed":"27.1µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.439477887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Dependency"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.439672797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.439695837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.439721207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.439747377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.44115641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.443030692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_executor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Dependency"} {"msg":"blueprint execution: quiesce check","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.443259463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_executor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","quiescing":false} {"msg":"initial state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.443323103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","state":"Running"} {"msg":"initial quiesce state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.443340973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","initial_state":"Allowed"} {"msg":"Blueprint execution: skipped","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:48.443359013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_executor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","target_id":"e31324af-2d15-4fff-8635-cbe8d0af293a","reason":"blueprint disabled"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.443376913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_executor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"enabled\":false,\"target_id\":\"e31324af-2d15-4fff-8635-cbe8d0af293a\"}","iteration":2,"elapsed":"121.461µs"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.443468783Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServiceBalancer","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-00000000bac3 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.443493023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServiceBalancer","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.444022364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServiceBalancer","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-00000000bac3 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.444966435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/ignition\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"dc4e50e4-6b2e-477b-8e4a-e964dbb2df7c\", \"content-length\": \"835\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.445711956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/0","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.448585231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.452016346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.452080856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.452102716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.453195098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.458510756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServiceBalancer","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Rack { parent: Fleet, key: c19a698f-c6f9-4a17-ae30-20d711b8f7dc, lookup_type: ById(c19a698f-c6f9-4a17-ae30-20d711b8f7dc) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-00000000bac3 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.458560176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServiceBalancer","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-00000000bac3 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.458589906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServiceBalancer","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-00000000bac3 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.458609486Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServiceBalancer","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.458961897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServiceBalancer","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-00000000bac3 (built_in_user), .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.594199064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:32222/node/id","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.594490394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Err(reqwest::Error { kind: Request, url: \"http://[::1]:32222/node/id\", source: hyper_util::client::legacy::Error(Connect, ConnectError(\"tcp connect error\", [::1]:32222, Os { code: 146, kind: ConnectionRefused, message: \"Connection refused\" })) })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.594906565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"crdb_node_id_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"errors\":[{\"err\":\"failed to fetch node ID for zone 2b896664-4be8-4949-9edf-d2738c3845a3 at http://[::1]:32222: Communication Error: error sending request for url (http://[::1]:32222/node/id): error sending request for url (http://[::1]:32222/node/id): client error (Connect): tcp connect error: Connection refused (os error 146)\",\"zone_id\":\"2b896664-4be8-4949-9edf-d2738c3845a3\"}],\"nsuccess\":0}","iteration":2,"elapsed":"155.437778ms"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.597669909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e4323f75-9d49-4053-8010-e758c5382bab\", \"content-length\": \"734\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.59853435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/0/component/sp/caboose?firmware_slot=0","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.59875398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServiceBalancer","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.604285649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ServiceBalancer","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Rack { parent: Fleet, key: c19a698f-c6f9-4a17-ae30-20d711b8f7dc, lookup_type: ById(c19a698f-c6f9-4a17-ae30-20d711b8f7dc) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-00000000bac3 (built_in_user), .. })"} {"msg":"Rack initialized","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.604366379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.673964445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674078236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/access","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674095616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/assets/{path}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674112216Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/device/auth","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674128576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/device/confirm","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674145086Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/device/success","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674167936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/device/token","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674185646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/device/verify","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674204286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010300.0.0","path":"/experimental/v1/probes","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674225046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010300.0.0","path":"/experimental/v1/probes","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674244996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010500.0.0","path":"/experimental/v1/probes","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674262426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010500.0.0","path":"/experimental/v1/probes","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674279546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/probes/{probe}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674296886Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010300.0.0","path":"/experimental/v1/probes/{probe}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674315826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010300.0.0","path":"/experimental/v1/probes/{probe}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674359836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674376896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674394106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674410066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674426586Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674444996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}/download","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674462056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}/download","method":"HEAD"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674478736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}/download/{file}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674495586Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}/download/{file}","method":"HEAD"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674551086Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}/index","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674569476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/images","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674585836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/login","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674602016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/login/{silo_name}/local","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674621726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/login/{silo_name}/saml/{provider_name}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674638876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/login/{silo_name}/saml/{provider_name}","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674659617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/login/{silo_name}/saml/{provider_name}/redirect","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674676387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/lookup/{path}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674692257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/projects/{path}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674708147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/projects-new","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674917817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674950417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Groups","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.674967177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Groups/{group_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675034627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Groups/{group_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675052717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Groups/{group_id}","method":"PATCH"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675112327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Groups/{group_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675151977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Users","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675168457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Users","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675184767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Users/{user_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675204837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Users/{user_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675220537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Users/{user_id}","method":"PATCH"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675236277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Users/{user_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675252557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/settings/{path}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675268427Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/system/{path}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675285577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/utilization","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675302048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675322098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675339478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups/{affinity_group}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675357808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups/{affinity_group}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675378528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups/{affinity_group}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675398218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups/{affinity_group}/members","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675417388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups/{affinity_group}/members/instance/{instance}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675435988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups/{affinity_group}/members/instance/{instance}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675453108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups/{affinity_group}/members/instance/{instance}","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675469308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-classes","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675483858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-receivers","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675500098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-receivers/{receiver}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675518108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-receivers/{receiver}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675534838Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-receivers/{receiver}/deliveries","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675552248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-receivers/{receiver}/probe","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675567638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-receivers/{receiver}/subscriptions","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675583878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-receivers/{receiver}/subscriptions/{subscription}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675600648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alerts/{alert_id}/resend","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675617538Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675636238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675657138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups/{anti_affinity_group}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675689318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups/{anti_affinity_group}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675709518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups/{anti_affinity_group}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675728988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups/{anti_affinity_group}/members","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675745758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups/{anti_affinity_group}/members/instance/{instance}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675762298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups/{anti_affinity_group}/members/instance/{instance}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675779718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups/{anti_affinity_group}/members/instance/{instance}","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675798028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/auth-settings","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675813768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/auth-settings","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675829548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/certificates","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675845878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/certificates","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675863568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/certificates/{certificate}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675880528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/certificates/{certificate}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675896048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060300.0.0","path":"/v1/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675913758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013001.0.0 to 2026060300.0.0","path":"/v1/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675929508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025120300.0.0 to 2026013001.0.0","path":"/v1/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675945648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025120300.0.0","path":"/v1/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675964309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060300.0.0","path":"/v1/disks","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675981159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013100.0.0 to 2026060300.0.0","path":"/v1/disks","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.675997849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013001.0.0 to 2026013100.0.0","path":"/v1/disks","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676016329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025120300.0.0 to 2026013001.0.0","path":"/v1/disks","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676033189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025120300.0.0","path":"/v1/disks","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676048189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/disks/{disk}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676063579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060300.0.0","path":"/v1/disks/{disk}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676079559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013001.0.0 to 2026060300.0.0","path":"/v1/disks/{disk}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676095259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025120300.0.0 to 2026013001.0.0","path":"/v1/disks/{disk}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676112069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025120300.0.0","path":"/v1/disks/{disk}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676131629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/disks/{disk}/bulk-write","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676150249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/disks/{disk}/bulk-write-start","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676165529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/disks/{disk}/bulk-write-stop","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676182029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/disks/{disk}/finalize","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676198149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026011601.0.0","path":"/v1/external-subnets","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676215239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026032300.0.0","path":"/v1/external-subnets","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676231779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012201.0.0 to 2026032300.0.0","path":"/v1/external-subnets","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676247889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026012201.0.0","path":"/v1/external-subnets","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676265179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026011601.0.0","path":"/v1/external-subnets/{external_subnet}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676282599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026011601.0.0","path":"/v1/external-subnets/{external_subnet}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676299829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026011601.0.0","path":"/v1/external-subnets/{external_subnet}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676316629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026011601.0.0","path":"/v1/external-subnets/{external_subnet}/attach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676334759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026011601.0.0","path":"/v1/external-subnets/{external_subnet}/detach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676352579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/floating-ips","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676368389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026012200.0.0","path":"/v1/floating-ips","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676384989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011600.0.0 to 2026012200.0.0","path":"/v1/floating-ips","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676404549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010500.0.0 to 2026011600.0.0","path":"/v1/floating-ips","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676422039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025122300.0.0 to 2026010500.0.0","path":"/v1/floating-ips","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676438739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025122300.0.0","path":"/v1/floating-ips","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676456179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/floating-ips/{floating_ip}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676477199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/floating-ips/{floating_ip}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676493869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/floating-ips/{floating_ip}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676511729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/floating-ips/{floating_ip}/attach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676528369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/floating-ips/{floating_ip}/detach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676547079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676564069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676582329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/groups/{group_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.676598959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/groups/{group_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67661672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060400.0.0","path":"/v1/images","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67663693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060400.0.0","path":"/v1/images","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67665556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060400.0.0","path":"/v1/images","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67669343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060400.0.0","path":"/v1/images","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67671475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/images/{image}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67673304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060400.0.0","path":"/v1/images/{image}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67675003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060400.0.0","path":"/v1/images/{image}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67676642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060400.0.0","path":"/v1/images/{image}/demote","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67678348Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060400.0.0","path":"/v1/images/{image}/demote","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67679968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060400.0.0","path":"/v1/images/{image}/promote","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67681984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060400.0.0","path":"/v1/images/{image}/promote","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67683913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060800.0.0","path":"/v1/instances","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67685575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026060500.0.0 to 2026060800.0.0","path":"/v1/instances","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67687404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060500.0.0","path":"/v1/instances","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67692063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060800.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67694003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026060500.0.0 to 2026060800.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67695861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013100.0.0 to 2026060500.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67697872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013001.0.0 to 2026013100.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67699726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010800.0.0 to 2026013001.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67701474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010500.0.0 to 2026010800.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67703236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010300.0.0 to 2026010500.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67705036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025122300.0.0 to 2026010300.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67706618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025120300.0.0 to 2025122300.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67708465Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025120300.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67710394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67714382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060800.0.0","path":"/v1/instances/{instance}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67715997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026060500.0.0 to 2026060800.0.0","path":"/v1/instances/{instance}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67717866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060500.0.0","path":"/v1/instances/{instance}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67719603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060800.0.0","path":"/v1/instances/{instance}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67721514Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026060500.0.0 to 2026060800.0.0","path":"/v1/instances/{instance}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.67723197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010800.0.0 to 2026060500.0.0","path":"/v1/instances/{instance}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677278101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/instances/{instance}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677312531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/affinity-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677342461Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/anti-affinity-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677361121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060300.0.0","path":"/v1/instances/{instance}/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677388681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013001.0.0 to 2026060300.0.0","path":"/v1/instances/{instance}/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677406231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025120300.0.0 to 2026013001.0.0","path":"/v1/instances/{instance}/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677425161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025120300.0.0","path":"/v1/instances/{instance}/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677464311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060300.0.0","path":"/v1/instances/{instance}/disks/attach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677482971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013001.0.0 to 2026060300.0.0","path":"/v1/instances/{instance}/disks/attach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677501071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025120300.0.0 to 2026013001.0.0","path":"/v1/instances/{instance}/disks/attach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677521151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025120300.0.0","path":"/v1/instances/{instance}/disks/attach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677684231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060300.0.0","path":"/v1/instances/{instance}/disks/detach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677702951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013001.0.0 to 2026060300.0.0","path":"/v1/instances/{instance}/disks/detach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677721601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025120300.0.0 to 2026013001.0.0","path":"/v1/instances/{instance}/disks/detach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677738551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025120300.0.0","path":"/v1/instances/{instance}/disks/detach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677754781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/external-ips","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677772451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026012300.0.0","path":"/v1/instances/{instance}/external-ips/ephemeral","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677792061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026012300.0.0","path":"/v1/instances/{instance}/external-ips/ephemeral","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677812301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010500.0.0","path":"/v1/instances/{instance}/external-ips/ephemeral","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677829311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025122300.0.0 to 2026010500.0.0","path":"/v1/instances/{instance}/external-ips/ephemeral","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677850351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025122300.0.0","path":"/v1/instances/{instance}/external-ips/ephemeral","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677868101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026013000.0.0","path":"/v1/instances/{instance}/external-subnets","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677885381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010800.0.0","path":"/v1/instances/{instance}/multicast-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677903171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/instances/{instance}/multicast-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677922552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010800.0.0","path":"/v1/instances/{instance}/multicast-groups/{multicast_group}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677940762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/instances/{instance}/multicast-groups/{multicast_group}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677979922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010800.0.0","path":"/v1/instances/{instance}/multicast-groups/{multicast_group}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.677998852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/instances/{instance}/multicast-groups/{multicast_group}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678016482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060800.0.0","path":"/v1/instances/{instance}/reboot","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678035862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026060500.0.0 to 2026060800.0.0","path":"/v1/instances/{instance}/reboot","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678054242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060500.0.0","path":"/v1/instances/{instance}/reboot","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678071022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/serial-console","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678088632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/serial-console/stream","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678106742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/ssh-public-keys","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678124112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060800.0.0","path":"/v1/instances/{instance}/start","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678142972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026060500.0.0 to 2026060800.0.0","path":"/v1/instances/{instance}/start","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678167832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060500.0.0","path":"/v1/instances/{instance}/start","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678188022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060800.0.0","path":"/v1/instances/{instance}/stop","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678208792Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026060500.0.0 to 2026060800.0.0","path":"/v1/instances/{instance}/stop","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678227582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060500.0.0","path":"/v1/instances/{instance}/stop","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678244752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateway-ip-addresses","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678264542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateway-ip-addresses","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678282022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateway-ip-addresses/{address}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678301272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateway-ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678320342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateway-ip-pools","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678337572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateway-ip-pools/{pool}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678357402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateways","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678374302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateways","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678391062Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateways/{gateway}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678408322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateways/{gateway}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678425572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678446322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010100.0.0 to 2026020900.0.0","path":"/v1/ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678466632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010100.0.0","path":"/v1/ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678484562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/ip-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678502652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010100.0.0 to 2026020900.0.0","path":"/v1/ip-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678524182Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010100.0.0","path":"/v1/ip-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678543192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/login/{silo_name}/local","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678563592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/logout","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678626063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/me","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678671063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/me","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678693983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/me/access-tokens","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678727323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/me/access-tokens/{token_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678770413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/me/groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678810233Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/me/groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678827973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/me/ssh-keys","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678844913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/me/ssh-keys","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678862963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/me/ssh-keys/{ssh_key}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678879593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/me/ssh-keys/{ssh_key}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678918683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/metrics/{metric_name}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678949353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026031400.0.0","path":"/v1/multicast-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678970763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010800.0.0 to 2026031400.0.0","path":"/v1/multicast-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.678990283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679008203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679027603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups/{multicast_group}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679046683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026031400.0.0","path":"/v1/multicast-groups/{multicast_group}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679065483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010800.0.0 to 2026031400.0.0","path":"/v1/multicast-groups/{multicast_group}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679084143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups/{multicast_group}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679102353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups/{multicast_group}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679123743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010800.0.0","path":"/v1/multicast-groups/{multicast_group}/members","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679144503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups/{multicast_group}/members","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679164303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups/{multicast_group}/members","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679215893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups/{multicast_group}/members/{instance}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679232724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010300.0.0","path":"/v1/network-interfaces","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679249364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010300.0.0","path":"/v1/network-interfaces","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679266364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010300.0.0","path":"/v1/network-interfaces","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679283454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010300.0.0","path":"/v1/network-interfaces","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679300654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/network-interfaces/{interface}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679319204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010300.0.0","path":"/v1/network-interfaces/{interface}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679338744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010300.0.0","path":"/v1/network-interfaces/{interface}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679356074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010300.0.0","path":"/v1/network-interfaces/{interface}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679374124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010300.0.0","path":"/v1/network-interfaces/{interface}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679392714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/ping","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679409404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/policy","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679430404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/policy","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679446384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/projects","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679464094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/projects","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679480404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/projects/{project}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679522644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/projects/{project}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679543044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/projects/{project}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679561894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/projects/{project}/policy","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679577444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/projects/{project}/policy","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679595914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/snapshots","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679612804Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/snapshots","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679629004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/snapshots/{snapshot}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679645844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/snapshots/{snapshot}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679661634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/subnet-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679679654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026020600.0.0 to 2026020900.0.0","path":"/v1/subnet-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679698334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/subnet-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679715764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026011501.0.0","path":"/v1/system/audit-log","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679734424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011500.0.0 to 2026011501.0.0","path":"/v1/system/audit-log","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679769284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026011500.0.0","path":"/v1/system/audit-log","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679788444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026050800.0.0","path":"/v1/system/hardware/disk-adoption-request","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679807774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026050800.0.0","path":"/v1/system/hardware/disk-adoption-request/{physical_disk_adoption_req_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679826114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026050800.0.0","path":"/v1/system/hardware/disk-adoption-requests","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679857424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679876885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/disks/{disk_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679896395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026050800.0.0","path":"/v1/system/hardware/disks-unadopted","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679912995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/hardware/rack-switch-port/{rack_id}/{switch_slot}/{port}/lldp/neighbors","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679933065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/hardware/rack-switch-port/{rack_id}/{switch_slot}/{port}/lldp/neighbors","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679952985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/racks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679969935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/racks/{rack_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.679988645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026012100.0.0","path":"/v1/system/hardware/racks/{rack_id}/membership","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680012655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020200.0.0","path":"/v1/system/hardware/racks/{rack_id}/membership/abort","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680031415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026012100.0.0","path":"/v1/system/hardware/racks/{rack_id}/membership/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680050185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/sleds","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680066885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026021900.0.0","path":"/v1/system/hardware/sleds","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680083135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/sleds/{sled_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680098375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/sleds/{sled_id}/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680116095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/sleds/{sled_id}/instances","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680134245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/sleds/{sled_id}/provision-policy","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680152775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/sleds-uninitialized","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680170445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/hardware/switch-port","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680188565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/hardware/switch-port","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680210215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/lldp/config","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680230085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/lldp/config","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680251525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/lldp/config","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680272405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/lldp/config","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680291775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/settings","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680314225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/settings","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680332075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/settings","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680349775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/settings","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680366675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680386455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680407095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/switches","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680426725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/switches/{switch_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680484115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/identity-providers","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680501585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/system/identity-providers/local/users","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680538196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/system/identity-providers/local/users","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680557956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/identity-providers/local/users/{user_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680576166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/identity-providers/local/users/{user_id}/set-password","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680593446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/identity-providers/saml","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680610026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/identity-providers/saml/{provider}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680627066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680644316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680661206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680676386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680694316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680712756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680729576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680746656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680763926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680806366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680842976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/ranges","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680863166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/ranges","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680881226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/ranges/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680898856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/ranges/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680916566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/ranges/remove","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680934066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/ranges/remove","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680951116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680968436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.680984906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681006956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681023686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos/{silo}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681041366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos/{silo}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681060346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos/{silo}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681077816Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos/{silo}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681095936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/utilization","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681117546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/utilization","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681135576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools-service","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681152766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools-service","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681170616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools-service/ranges","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681186587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools-service/ranges","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681202297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools-service/ranges/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681218147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools-service/ranges/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681235797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools-service/ranges/remove","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681253637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools-service/ranges/remove","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681269797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/metrics/{metric_name}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681286147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/system/multicast-groups/by-ip/{address}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681305387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/address-lot","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681322197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/address-lot","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681339697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/address-lot/{address_lot}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681359687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/address-lot/{address_lot}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681375747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/address-lot/{address_lot}/blocks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681392087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/allow-list","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681408817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/allow-list","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681425547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/networking/bfd-disable","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681443627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/networking/bfd-disable","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681462027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/networking/bfd-enable","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681479377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/networking/bfd-enable","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681498317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/networking/bfd-status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681513787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/networking/bfd-status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681547027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/bgp","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681562287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026021301.0.0","path":"/v1/system/networking/bgp","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681580917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026021301.0.0","path":"/v1/system/networking/bgp","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681598797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026021301.0.0","path":"/v1/system/networking/bgp","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681615067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026021301.0.0","path":"/v1/system/networking/bgp","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681631357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/bgp-announce-set","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681649517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/bgp-announce-set","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681666397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/bgp-announce-set/{announce_set}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681683387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/bgp-announce-set/{announce_set}/announcement","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681701207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026021301.0.0","path":"/v1/system/networking/bgp-exported","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681718497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026021301.0.0","path":"/v1/system/networking/bgp-exported","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681735707Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026021301.0.0","path":"/v1/system/networking/bgp-imported","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681751187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/bgp-message-history","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681770307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026021301.0.0","path":"/v1/system/networking/bgp-routes-ipv4","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681823407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026021301.0.0","path":"/v1/system/networking/bgp-status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681859088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025121200.0.0 to 2026021301.0.0","path":"/v1/system/networking/bgp-status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681912738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025121200.0.0","path":"/v1/system/networking/bgp-status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681930538Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/inbound-icmp","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681948898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/inbound-icmp","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681971578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/networking/loopback-address","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.681991508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/networking/loopback-address","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682019168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/networking/loopback-address","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682041118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/networking/loopback-address","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682059978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/networking/loopback-address/{rack_id}/{switch_slot}/{address}/{subnet_mask}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682083868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/networking/loopback-address/{rack_id}/{switch_slot}/{address}/{subnet_mask}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682105338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060500.0.0","path":"/v1/system/networking/settings","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682122568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060500.0.0","path":"/v1/system/networking/settings","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682141248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/switch-port-settings","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682160618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/switch-port-settings","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682198448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026050700.0.0","path":"/v1/system/networking/switch-port-settings","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682250038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026041600.0.0 to 2026050700.0.0","path":"/v1/system/networking/switch-port-settings","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682282798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026021301.0.0 to 2026041600.0.0","path":"/v1/system/networking/switch-port-settings","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682303988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026021301.0.0","path":"/v1/system/networking/switch-port-settings","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682323628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026050700.0.0","path":"/v1/system/networking/switch-port-settings/{port}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682342758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026041600.0.0 to 2026050700.0.0","path":"/v1/system/networking/switch-port-settings/{port}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682364728Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026021301.0.0 to 2026041600.0.0","path":"/v1/system/networking/switch-port-settings/{port}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682384548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026021301.0.0","path":"/v1/system/networking/switch-port-settings/{port}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682402988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/policy","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682420778Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/policy","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682520839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/scim/tokens","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682542719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/scim/tokens","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682563079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/scim/tokens/{token_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682582279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/scim/tokens/{token_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682599049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silo-quotas","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682616849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682633669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682648959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos/{silo}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682665939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos/{silo}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682718139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010100.0.0","path":"/v1/system/silos/{silo}/ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682735989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010100.0.0","path":"/v1/system/silos/{silo}/ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682753869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos/{silo}/policy","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682771009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos/{silo}/policy","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682787209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos/{silo}/quotas","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682803099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos/{silo}/quotas","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682821539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020600.0.0","path":"/v1/system/silos/{silo}/subnet-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682839419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682858259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012800.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682876229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026012800.0.0","path":"/v1/system/subnet-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682898189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682916039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012800.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682935269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012201.0.0 to 2026012800.0.0","path":"/v1/system/subnet-pools","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682955209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026012201.0.0","path":"/v1/system/subnet-pools","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682975149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.682993319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.683013889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.683032069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012800.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.683059349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026012800.0.0","path":"/v1/system/subnet-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.68330687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.68333808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012800.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.6833582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026012800.0.0","path":"/v1/system/subnet-pools/{pool}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.68337698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/members","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.68339605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012800.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/members","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.68341689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026012800.0.0","path":"/v1/system/subnet-pools/{pool}/members","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.68356522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/members/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.68359919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012800.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/members/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.68361722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012201.0.0 to 2026012800.0.0","path":"/v1/system/subnet-pools/{pool}/members/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.68363572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026012201.0.0","path":"/v1/system/subnet-pools/{pool}/members/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.6836577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/members/remove","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.68367625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/members/remove","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.68369637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.68371912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.68373766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.68376948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.68379165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos/{silo}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.683859311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos/{silo}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.683917151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos/{silo}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.683945361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos/{silo}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.684480362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026032500.0.0","path":"/v1/system/subnet-pools/{pool}/utilization","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.684526112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026020900.0.0 to 2026032500.0.0","path":"/v1/system/subnet-pools/{pool}/utilization","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.684547832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/utilization","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.684568482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/timeseries/query","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.684587012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026042900.0.0","path":"/v1/system/timeseries/schemas","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.684607092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026042900.0.0","path":"/v1/system/timeseries/schemas","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.684627772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026022500.0.0","path":"/v1/system/update/recovery-finish","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.684650162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/repositories","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.684667742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/repositories","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.684683342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/repositories/{system_version}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.684724592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026052000.0.0","path":"/v1/system/update/status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.684769082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026052000.0.0","path":"/v1/system/update/status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.684789762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/target-release","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.684875242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/trust-roots","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.684921152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/trust-roots","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685270363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/trust-roots/{trust_root_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685289973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/trust-roots/{trust_root_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685314093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/system/users","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685331823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/system/users","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685351143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/system/users/{user_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685478933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/system/users/{user_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685497383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/users-builtin","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685602263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/users-builtin/{user}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685618493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/utilization/silos","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685635333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/utilization/silos/{silo}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685654363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/timeseries/query","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685699013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/users","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685717963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/users","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685792574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/users/{user_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685813824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/users/{user_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685831424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/users/{user_id}/access-tokens","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685893994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/users/{user_id}/logout","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685968704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/users/{user_id}/sessions","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.685986834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/utilization","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686005144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026032400.0.0","path":"/v1/vpc-firewall-rules","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686022724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026032400.0.0","path":"/v1/vpc-firewall-rules","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686040534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026032400.0.0","path":"/v1/vpc-firewall-rules","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686056574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026032400.0.0","path":"/v1/vpc-firewall-rules","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686078264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-router-routes","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686095184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-router-routes","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686112564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-router-routes/{route}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686132614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-router-routes/{route}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686152594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-router-routes/{route}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686174594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-routers","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686196324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-routers","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686214804Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-routers/{router}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686232384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-routers/{router}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686269694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-routers/{router}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686289864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-subnets","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686307684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-subnets","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686323704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-subnets/{subnet}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686339054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-subnets/{subnet}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686357104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-subnets/{subnet}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686374454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010300.0.0","path":"/v1/vpc-subnets/{subnet}/network-interfaces","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686391864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010300.0.0","path":"/v1/vpc-subnets/{subnet}/network-interfaces","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686412574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpcs","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686429305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpcs","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686493565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpcs/{vpc}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686514115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpcs/{vpc}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686569025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpcs/{vpc}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686593615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/webhook-receivers","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686611415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/webhook-receivers/{receiver}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686628975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/webhook-secrets","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686654365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/webhook-secrets","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686684695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/webhook-secrets/{secret_id}","method":"DELETE"} {"msg":"listening","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.686703915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"successfully registered DTrace USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.686720525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.7292702Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.72932696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/access","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.72938063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/assets/{path}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.72940215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/device/auth","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.72942006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/device/confirm","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.72943731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/device/success","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.72946177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/device/token","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.72948505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/device/verify","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.72950738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010300.0.0","path":"/experimental/v1/probes","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.72952864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010300.0.0","path":"/experimental/v1/probes","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.72954673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010500.0.0","path":"/experimental/v1/probes","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.72956575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010500.0.0","path":"/experimental/v1/probes","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.72958448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/probes/{probe}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729603461Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010300.0.0","path":"/experimental/v1/probes/{probe}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729623091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010300.0.0","path":"/experimental/v1/probes/{probe}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729641181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729659501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729677371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729721731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729742301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729765031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}/download","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729783681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}/download","method":"HEAD"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729803791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}/download/{file}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729862801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}/download/{file}","method":"HEAD"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729899291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/experimental/v1/system/support-bundles/{bundle_id}/index","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729919041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/images","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729940501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/login","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729957131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/login/{silo_name}/local","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.729982091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/login/{silo_name}/saml/{provider_name}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730000351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/login/{silo_name}/saml/{provider_name}","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730020771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/login/{silo_name}/saml/{provider_name}/redirect","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730069451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/lookup/{path}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730091061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/projects/{path}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730145051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/projects-new","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730176591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730197641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Groups","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730248272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Groups/{group_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730271852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Groups/{group_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730290702Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Groups/{group_id}","method":"PATCH"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730324812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Groups/{group_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730343932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Users","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730361762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Users","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730383522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Users/{user_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730401612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Users/{user_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730420582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Users/{user_id}","method":"PATCH"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730458822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/scim/v2/Users/{user_id}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730483162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/settings/{path}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730501242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/system/{path}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730568662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/utilization","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730611172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730632942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730650812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups/{affinity_group}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730672862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups/{affinity_group}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730693202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups/{affinity_group}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730711152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups/{affinity_group}/members","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730729962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups/{affinity_group}/members/instance/{instance}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730752032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups/{affinity_group}/members/instance/{instance}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730772632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/affinity-groups/{affinity_group}/members/instance/{instance}","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730793372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-classes","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730812162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-receivers","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730830272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-receivers/{receiver}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730852372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-receivers/{receiver}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730873762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-receivers/{receiver}/deliveries","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730905083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-receivers/{receiver}/probe","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730925843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-receivers/{receiver}/subscriptions","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730944923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alert-receivers/{receiver}/subscriptions/{subscription}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730978793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/alerts/{alert_id}/resend","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.730997973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731016353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731035133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups/{anti_affinity_group}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731057063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups/{anti_affinity_group}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731078843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups/{anti_affinity_group}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731100583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups/{anti_affinity_group}/members","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731120013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups/{anti_affinity_group}/members/instance/{instance}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731140213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups/{anti_affinity_group}/members/instance/{instance}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731159813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/anti-affinity-groups/{anti_affinity_group}/members/instance/{instance}","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731179103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/auth-settings","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731346133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/auth-settings","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731367783Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/certificates","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731386973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/certificates","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731404393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/certificates/{certificate}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731488553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/certificates/{certificate}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731506813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060300.0.0","path":"/v1/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731527323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013001.0.0 to 2026060300.0.0","path":"/v1/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731604144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025120300.0.0 to 2026013001.0.0","path":"/v1/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731652884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025120300.0.0","path":"/v1/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731672004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060300.0.0","path":"/v1/disks","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731692554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013100.0.0 to 2026060300.0.0","path":"/v1/disks","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731709714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013001.0.0 to 2026013100.0.0","path":"/v1/disks","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731824194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025120300.0.0 to 2026013001.0.0","path":"/v1/disks","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731844064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025120300.0.0","path":"/v1/disks","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731861504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/disks/{disk}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731898184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060300.0.0","path":"/v1/disks/{disk}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731918734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013001.0.0 to 2026060300.0.0","path":"/v1/disks/{disk}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731939634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025120300.0.0 to 2026013001.0.0","path":"/v1/disks/{disk}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731958284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025120300.0.0","path":"/v1/disks/{disk}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731976584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/disks/{disk}/bulk-write","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.731994274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/disks/{disk}/bulk-write-start","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732011424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/disks/{disk}/bulk-write-stop","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732028894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/disks/{disk}/finalize","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732046524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026011601.0.0","path":"/v1/external-subnets","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732063964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026032300.0.0","path":"/v1/external-subnets","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732081984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012201.0.0 to 2026032300.0.0","path":"/v1/external-subnets","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732102134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026012201.0.0","path":"/v1/external-subnets","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732119474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026011601.0.0","path":"/v1/external-subnets/{external_subnet}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732137684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026011601.0.0","path":"/v1/external-subnets/{external_subnet}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732155704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026011601.0.0","path":"/v1/external-subnets/{external_subnet}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732173714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026011601.0.0","path":"/v1/external-subnets/{external_subnet}/attach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732192764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026011601.0.0","path":"/v1/external-subnets/{external_subnet}/detach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732211695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/floating-ips","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732229785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026012200.0.0","path":"/v1/floating-ips","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732247715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011600.0.0 to 2026012200.0.0","path":"/v1/floating-ips","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732265385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010500.0.0 to 2026011600.0.0","path":"/v1/floating-ips","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732283445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025122300.0.0 to 2026010500.0.0","path":"/v1/floating-ips","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732301085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025122300.0.0","path":"/v1/floating-ips","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732322545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/floating-ips/{floating_ip}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732341565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/floating-ips/{floating_ip}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732358795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/floating-ips/{floating_ip}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732376905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/floating-ips/{floating_ip}/attach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732394125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/floating-ips/{floating_ip}/detach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732410325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732427855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732445415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/groups/{group_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732463515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/groups/{group_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732481305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060400.0.0","path":"/v1/images","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732498665Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060400.0.0","path":"/v1/images","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732552025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060400.0.0","path":"/v1/images","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732569105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060400.0.0","path":"/v1/images","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732585075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/images/{image}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732631015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060400.0.0","path":"/v1/images/{image}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732648915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060400.0.0","path":"/v1/images/{image}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732665785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060400.0.0","path":"/v1/images/{image}/demote","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732684335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060400.0.0","path":"/v1/images/{image}/demote","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732702695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060400.0.0","path":"/v1/images/{image}/promote","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732721095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060400.0.0","path":"/v1/images/{image}/promote","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732739755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060800.0.0","path":"/v1/instances","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732758365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026060500.0.0 to 2026060800.0.0","path":"/v1/instances","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732777055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060500.0.0","path":"/v1/instances","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732794185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060800.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732812005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026060500.0.0 to 2026060800.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732831835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013100.0.0 to 2026060500.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732857226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013001.0.0 to 2026013100.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732875286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010800.0.0 to 2026013001.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732893206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010500.0.0 to 2026010800.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732910886Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010300.0.0 to 2026010500.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732927916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025122300.0.0 to 2026010300.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732945146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025120300.0.0 to 2025122300.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732963566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025120300.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732980956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.732997936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060800.0.0","path":"/v1/instances/{instance}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733014566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026060500.0.0 to 2026060800.0.0","path":"/v1/instances/{instance}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733035606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060500.0.0","path":"/v1/instances/{instance}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733052226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060800.0.0","path":"/v1/instances/{instance}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733069286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026060500.0.0 to 2026060800.0.0","path":"/v1/instances/{instance}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733087366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010800.0.0 to 2026060500.0.0","path":"/v1/instances/{instance}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733120396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/instances/{instance}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733137866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/affinity-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733158076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/anti-affinity-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733175886Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060300.0.0","path":"/v1/instances/{instance}/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733193516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013001.0.0 to 2026060300.0.0","path":"/v1/instances/{instance}/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733211946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025120300.0.0 to 2026013001.0.0","path":"/v1/instances/{instance}/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733232666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025120300.0.0","path":"/v1/instances/{instance}/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733251286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060300.0.0","path":"/v1/instances/{instance}/disks/attach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733271706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013001.0.0 to 2026060300.0.0","path":"/v1/instances/{instance}/disks/attach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733295936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025120300.0.0 to 2026013001.0.0","path":"/v1/instances/{instance}/disks/attach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733336526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025120300.0.0","path":"/v1/instances/{instance}/disks/attach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733354956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060300.0.0","path":"/v1/instances/{instance}/disks/detach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733374386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026013001.0.0 to 2026060300.0.0","path":"/v1/instances/{instance}/disks/detach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733392556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025120300.0.0 to 2026013001.0.0","path":"/v1/instances/{instance}/disks/detach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733410286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025120300.0.0","path":"/v1/instances/{instance}/disks/detach","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733428056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/external-ips","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733446456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026012300.0.0","path":"/v1/instances/{instance}/external-ips/ephemeral","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733466456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026012300.0.0","path":"/v1/instances/{instance}/external-ips/ephemeral","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733486656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010500.0.0","path":"/v1/instances/{instance}/external-ips/ephemeral","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733516817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025122300.0.0 to 2026010500.0.0","path":"/v1/instances/{instance}/external-ips/ephemeral","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733535707Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025122300.0.0","path":"/v1/instances/{instance}/external-ips/ephemeral","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733553827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026013000.0.0","path":"/v1/instances/{instance}/external-subnets","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733574347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010800.0.0","path":"/v1/instances/{instance}/multicast-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733593907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/instances/{instance}/multicast-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733629967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010800.0.0","path":"/v1/instances/{instance}/multicast-groups/{multicast_group}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733651587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/instances/{instance}/multicast-groups/{multicast_group}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733674567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010800.0.0","path":"/v1/instances/{instance}/multicast-groups/{multicast_group}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733693647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/instances/{instance}/multicast-groups/{multicast_group}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733722707Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060800.0.0","path":"/v1/instances/{instance}/reboot","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733742617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026060500.0.0 to 2026060800.0.0","path":"/v1/instances/{instance}/reboot","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733763167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060500.0.0","path":"/v1/instances/{instance}/reboot","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733780047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/serial-console","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733796477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/serial-console/stream","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733915197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/ssh-public-keys","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733936107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060800.0.0","path":"/v1/instances/{instance}/start","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733954317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026060500.0.0 to 2026060800.0.0","path":"/v1/instances/{instance}/start","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733972657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060500.0.0","path":"/v1/instances/{instance}/start","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.733990887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060800.0.0","path":"/v1/instances/{instance}/stop","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734009607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026060500.0.0 to 2026060800.0.0","path":"/v1/instances/{instance}/stop","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734030787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026060500.0.0","path":"/v1/instances/{instance}/stop","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734060737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateway-ip-addresses","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734077637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateway-ip-addresses","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734108247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateway-ip-addresses/{address}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734126177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateway-ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734142797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateway-ip-pools","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734160577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateway-ip-pools/{pool}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734186218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateways","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734204758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateways","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734222078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateways/{gateway}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734241448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/internet-gateways/{gateway}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734263948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734290778Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010100.0.0 to 2026020900.0.0","path":"/v1/ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734312248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010100.0.0","path":"/v1/ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734329698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/ip-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734349128Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010100.0.0 to 2026020900.0.0","path":"/v1/ip-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734367338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010100.0.0","path":"/v1/ip-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734384598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/login/{silo_name}/local","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734415498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/logout","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734453658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/me","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734474988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/me","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734494098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/me/access-tokens","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734516468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/me/access-tokens/{token_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734535398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/me/groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734554268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/me/groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734574878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/me/ssh-keys","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734594138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/me/ssh-keys","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734613368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/me/ssh-keys/{ssh_key}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734651378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/me/ssh-keys/{ssh_key}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734676208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/metrics/{metric_name}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734695508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026031400.0.0","path":"/v1/multicast-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734714468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010800.0.0 to 2026031400.0.0","path":"/v1/multicast-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734733238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734751198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734768638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups/{multicast_group}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734787788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026031400.0.0","path":"/v1/multicast-groups/{multicast_group}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734805348Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026010800.0.0 to 2026031400.0.0","path":"/v1/multicast-groups/{multicast_group}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734821509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups/{multicast_group}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734957889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups/{multicast_group}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.734990609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010800.0.0","path":"/v1/multicast-groups/{multicast_group}/members","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735011549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups/{multicast_group}/members","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735027939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups/{multicast_group}/members","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735046749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/multicast-groups/{multicast_group}/members/{instance}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735069639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010300.0.0","path":"/v1/network-interfaces","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735091179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010300.0.0","path":"/v1/network-interfaces","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735110829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010300.0.0","path":"/v1/network-interfaces","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735193979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010300.0.0","path":"/v1/network-interfaces","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735211259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/network-interfaces/{interface}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735229159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010300.0.0","path":"/v1/network-interfaces/{interface}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735249349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010300.0.0","path":"/v1/network-interfaces/{interface}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735270079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010300.0.0","path":"/v1/network-interfaces/{interface}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735288089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010300.0.0","path":"/v1/network-interfaces/{interface}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735360779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/ping","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735380439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/policy","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735398069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/policy","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735417839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/projects","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735437409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/projects","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.735454819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/projects/{project}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73547959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/projects/{project}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73550931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/projects/{project}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73553156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/projects/{project}/policy","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73566958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/projects/{project}/policy","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73568954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/snapshots","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73570689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/snapshots","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73572374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/snapshots/{snapshot}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73574094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/snapshots/{snapshot}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73575868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/subnet-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73577534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026020600.0.0 to 2026020900.0.0","path":"/v1/subnet-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73579295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/subnet-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73581209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026011501.0.0","path":"/v1/system/audit-log","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73583299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011500.0.0 to 2026011501.0.0","path":"/v1/system/audit-log","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73584908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026011500.0.0","path":"/v1/system/audit-log","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73586659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026050800.0.0","path":"/v1/system/hardware/disk-adoption-request","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73588293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026050800.0.0","path":"/v1/system/hardware/disk-adoption-request/{physical_disk_adoption_req_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73590157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026050800.0.0","path":"/v1/system/hardware/disk-adoption-requests","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73591978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73593586Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/disks/{disk_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73595437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026050800.0.0","path":"/v1/system/hardware/disks-unadopted","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73597144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/hardware/rack-switch-port/{rack_id}/{switch_slot}/{port}/lldp/neighbors","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73598997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/hardware/rack-switch-port/{rack_id}/{switch_slot}/{port}/lldp/neighbors","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73601202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/racks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73603097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/racks/{rack_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73604796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026012100.0.0","path":"/v1/system/hardware/racks/{rack_id}/membership","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73606487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020200.0.0","path":"/v1/system/hardware/racks/{rack_id}/membership/abort","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73608226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026012100.0.0","path":"/v1/system/hardware/racks/{rack_id}/membership/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73609981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/sleds","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.73611609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026021900.0.0","path":"/v1/system/hardware/sleds","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736132441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/sleds/{sled_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736148601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/sleds/{sled_id}/disks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736165791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/sleds/{sled_id}/instances","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736184131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/sleds/{sled_id}/provision-policy","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736200991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/sleds-uninitialized","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736216981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/hardware/switch-port","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736234181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/hardware/switch-port","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736251981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/lldp/config","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736269661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/lldp/config","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736288161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/lldp/config","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736305471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/lldp/config","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736322951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/settings","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736339931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/settings","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736356601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/settings","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736375761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/settings","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736393871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736412541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/hardware/switch-port/{port}/status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736434301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/switches","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736450811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/hardware/switches/{switch_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736468001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/identity-providers","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736485421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/system/identity-providers/local/users","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736503751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/system/identity-providers/local/users","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736521691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/identity-providers/local/users/{user_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736542871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/identity-providers/local/users/{user_id}/set-password","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736559161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/identity-providers/saml","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736576261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/identity-providers/saml/{provider}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736595491Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736611551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736627321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736645061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736677951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736697751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736716341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736738061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736755161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736772351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736792552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/ranges","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736814312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/ranges","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736831012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/ranges/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736867642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/ranges/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736886202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/ranges/remove","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736903872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/ranges/remove","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736923092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736956272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736973732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.736991222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737029872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos/{silo}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737047802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos/{silo}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737064122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos/{silo}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737082772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/silos/{silo}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737100392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/utilization","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737119922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools/{pool}/utilization","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737137452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools-service","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737153092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools-service","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737170452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools-service/ranges","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737186412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools-service/ranges","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737206162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools-service/ranges/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737223672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools-service/ranges/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737239892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/ip-pools-service/ranges/remove","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737256082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026020900.0.0","path":"/v1/system/ip-pools-service/ranges/remove","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737272532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/metrics/{metric_name}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737288842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010800.0.0","path":"/v1/system/multicast-groups/by-ip/{address}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737305482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/address-lot","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737323722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/address-lot","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737340662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/address-lot/{address_lot}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737360552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/address-lot/{address_lot}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737379202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/address-lot/{address_lot}/blocks","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737396752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/allow-list","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737415892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/allow-list","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737436053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/networking/bfd-disable","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737452863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/networking/bfd-disable","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737468983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/networking/bfd-enable","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737484903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/networking/bfd-enable","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737501723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/networking/bfd-status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737517863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/networking/bfd-status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737533943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/bgp","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737549263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026021301.0.0","path":"/v1/system/networking/bgp","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737565613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026021301.0.0","path":"/v1/system/networking/bgp","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737581543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026021301.0.0","path":"/v1/system/networking/bgp","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737596943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026021301.0.0","path":"/v1/system/networking/bgp","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737612593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/bgp-announce-set","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737627573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/bgp-announce-set","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737643183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/bgp-announce-set/{announce_set}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737659603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/bgp-announce-set/{announce_set}/announcement","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737695533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026021301.0.0","path":"/v1/system/networking/bgp-exported","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737713923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026021301.0.0","path":"/v1/system/networking/bgp-exported","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737729743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026021301.0.0","path":"/v1/system/networking/bgp-imported","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737745373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/bgp-message-history","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737760933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026021301.0.0","path":"/v1/system/networking/bgp-routes-ipv4","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737776683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026021301.0.0","path":"/v1/system/networking/bgp-status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737793273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2025121200.0.0 to 2026021301.0.0","path":"/v1/system/networking/bgp-status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737809663Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2025121200.0.0","path":"/v1/system/networking/bgp-status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737825383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/inbound-icmp","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737840713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/inbound-icmp","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737855893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/networking/loopback-address","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737873923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/networking/loopback-address","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737889623Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/networking/loopback-address","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737907503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/networking/loopback-address","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737924323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030601.0.0","path":"/v1/system/networking/loopback-address/{rack_id}/{switch_slot}/{address}/{subnet_mask}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737941033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030601.0.0","path":"/v1/system/networking/loopback-address/{rack_id}/{switch_slot}/{address}/{subnet_mask}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737958453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060500.0.0","path":"/v1/system/networking/settings","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737974453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026060500.0.0","path":"/v1/system/networking/settings","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.737990613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/switch-port-settings","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738006633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/networking/switch-port-settings","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738022293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026050700.0.0","path":"/v1/system/networking/switch-port-settings","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738038103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026041600.0.0 to 2026050700.0.0","path":"/v1/system/networking/switch-port-settings","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738055903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026021301.0.0 to 2026041600.0.0","path":"/v1/system/networking/switch-port-settings","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738072613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026021301.0.0","path":"/v1/system/networking/switch-port-settings","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738088334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026050700.0.0","path":"/v1/system/networking/switch-port-settings/{port}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738104374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026041600.0.0 to 2026050700.0.0","path":"/v1/system/networking/switch-port-settings/{port}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738120604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026021301.0.0 to 2026041600.0.0","path":"/v1/system/networking/switch-port-settings/{port}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738136904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026021301.0.0","path":"/v1/system/networking/switch-port-settings/{port}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738152734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/policy","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738172854Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/policy","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738194194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/scim/tokens","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738209304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/scim/tokens","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738224104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/scim/tokens/{token_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738239654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/scim/tokens/{token_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738254824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silo-quotas","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738269694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738284864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738299884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos/{silo}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738314774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos/{silo}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738330314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010100.0.0","path":"/v1/system/silos/{silo}/ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738346394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010100.0.0","path":"/v1/system/silos/{silo}/ip-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738361764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos/{silo}/policy","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738377044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos/{silo}/policy","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738391384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos/{silo}/quotas","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738406374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/silos/{silo}/quotas","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738421454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020600.0.0","path":"/v1/system/silos/{silo}/subnet-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738437864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738453404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012800.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738468844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026012800.0.0","path":"/v1/system/subnet-pools","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738484904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738500184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012800.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738515814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012201.0.0 to 2026012800.0.0","path":"/v1/system/subnet-pools","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738531544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026012201.0.0","path":"/v1/system/subnet-pools","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738547434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738563134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738580754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738596844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012800.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738612584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026012800.0.0","path":"/v1/system/subnet-pools/{pool}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738630134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738647274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012800.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738663584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026012800.0.0","path":"/v1/system/subnet-pools/{pool}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738681194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/members","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738718774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012800.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/members","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738736594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026012800.0.0","path":"/v1/system/subnet-pools/{pool}/members","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738754575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/members/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738770855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012800.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/members/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738786405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026012201.0.0 to 2026012800.0.0","path":"/v1/system/subnet-pools/{pool}/members/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738802555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026012201.0.0","path":"/v1/system/subnet-pools/{pool}/members/add","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738818565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/members/remove","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738834585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/members/remove","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738851115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738867675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738886405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738903585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738921005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos/{silo}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738937755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos/{silo}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738953905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos/{silo}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738977095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/silos/{silo}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.738994575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026032500.0.0","path":"/v1/system/subnet-pools/{pool}/utilization","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739011545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026020900.0.0 to 2026032500.0.0","path":"/v1/system/subnet-pools/{pool}/utilization","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739029215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"from 2026011601.0.0 to 2026020900.0.0","path":"/v1/system/subnet-pools/{pool}/utilization","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739048245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/timeseries/query","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739064115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026042900.0.0","path":"/v1/system/timeseries/schemas","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739079815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026042900.0.0","path":"/v1/system/timeseries/schemas","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739095815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026022500.0.0","path":"/v1/system/update/recovery-finish","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739113085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/repositories","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739129145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/repositories","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739149555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/repositories/{system_version}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739165505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026052000.0.0","path":"/v1/system/update/status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739183575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026052000.0.0","path":"/v1/system/update/status","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739206355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/target-release","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739222385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/trust-roots","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739237475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/trust-roots","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739253605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/trust-roots/{trust_root_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739271315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/update/trust-roots/{trust_root_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739288225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/system/users","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739305455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/system/users","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739322565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/system/users/{user_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739338245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/system/users/{user_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739354025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/users-builtin","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739369435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/users-builtin/{user}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739384865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/utilization/silos","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739400606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/system/utilization/silos/{silo}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739416896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/timeseries/query","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739433066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/users","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739449766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/users","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739466436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026030200.0.0","path":"/v1/users/{user_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739482036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026030200.0.0","path":"/v1/users/{user_id}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739499036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/users/{user_id}/access-tokens","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739515926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/users/{user_id}/logout","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739532886Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/users/{user_id}/sessions","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739551976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/utilization","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739569276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026032400.0.0","path":"/v1/vpc-firewall-rules","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739586466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026032400.0.0","path":"/v1/vpc-firewall-rules","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739604136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026032400.0.0","path":"/v1/vpc-firewall-rules","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739619546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026032400.0.0","path":"/v1/vpc-firewall-rules","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739640226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-router-routes","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739655596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-router-routes","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739677016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-router-routes/{route}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739693326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-router-routes/{route}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739730116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-router-routes/{route}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739748766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-routers","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739767826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-routers","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739784626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-routers/{router}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739801376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-routers/{router}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739817976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-routers/{router}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739837746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-subnets","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739852456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-subnets","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739867946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-subnets/{subnet}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739885136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-subnets/{subnet}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739901066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpc-subnets/{subnet}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739917546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026010300.0.0","path":"/v1/vpc-subnets/{subnet}/network-interfaces","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739936296Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all ending with 2026010300.0.0","path":"/v1/vpc-subnets/{subnet}/network-interfaces","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739957936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpcs","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739973026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpcs","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.739993706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpcs/{vpc}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740011176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpcs/{vpc}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740028336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/vpcs/{vpc}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740045536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/webhook-receivers","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740073217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/webhook-receivers/{receiver}","method":"PUT"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740091587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/webhook-secrets","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740106567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/webhook-secrets","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740130607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/webhook-secrets/{secret_id}","method":"DELETE"} {"msg":"listening","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.740146247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"successfully registered DTrace USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740189597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:58955","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"registered DTrace probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740204437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740220207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:36260","component":"dropshot","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/{producer_id}","method":"GET"} {"msg":"listening","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.740237767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:36260","component":"dropshot","file":"/home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dropshot-0.17.0/src/server.rs:335","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"successfully registered DTrace USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740276327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:36260","component":"dropshot","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Requested any available port, Dropshot server has been bound to 127.0.0.1:36260","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740294647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Nexus IP provided explicitly, will use it","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740341397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","addr":"127.0.0.1:49805"} {"msg":"starting producer registration task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740358787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"starting oximeter metric producer server","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.740431487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"file":"oximeter/producer/src/lib.rs:280","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","interval":"10s","address":"127.0.0.1:36260","producer_id":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"Running step start_oximeter","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740450737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"Starting Oximeter","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740462497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"registered DTrace probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740473767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter"} {"msg":"starting oximeter server","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.740487667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"file":"oximeter/collector/src/lib.rs:301","component":"oximeter"} {"msg":"creating ClickHouse client","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740521657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter"} {"msg":"registered USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740532967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740554347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Signaled"} {"msg":"starting background task for service firewall rule propagation","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740599177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.740618787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740643407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740660947Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"registering as oximeter producer with Nexus","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740687727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","registration_count":"0"} {"msg":"will register with Nexus at 127.0.0.1:49805","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.740705548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.850571915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://127.0.0.1:49805/metrics/producers","method":"POST"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.851938877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:36598"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.855410872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/producers","method":"POST","req_id":"99fd8fc4-5a0a-4e9f-ab1d-cb13905434ef","remote_addr":"127.0.0.1:36598","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.858726147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/producers","method":"POST","req_id":"99fd8fc4-5a0a-4e9f-ab1d-cb13905434ef","remote_addr":"127.0.0.1:36598","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.858823637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.858855887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.859378308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.869418913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"99fd8fc4-5a0a-4e9f-ab1d-cb13905434ef","remote_addr":"127.0.0.1:36598","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.869494364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"99fd8fc4-5a0a-4e9f-ab1d-cb13905434ef","remote_addr":"127.0.0.1:36598","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.871595117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"99fd8fc4-5a0a-4e9f-ab1d-cb13905434ef","remote_addr":"127.0.0.1:36598","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.876748215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT MAX(value) AS max_version FROM oximeter.version;"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.879233718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.879296049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.879758679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.882871944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.882929104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.882952044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.883068474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.883631735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.884991947Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/0/component/sp/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"110ab612-4d13-4e26-bf81-6dc22962eeaf\", \"content-length\": \"111\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.885461238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/0/component/sp/caboose?firmware_slot=1","method":"GET"} {"msg":"oximeter database does not exist, or is out-of-date","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:48.886318409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/db/src/client/mod.rs:890","component":"oximeter"} {"msg":"oximeter database does not exist, creating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.886372689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"reading db version","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.886389189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/db/src/client/mod.rs:790","component":"oximeter"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.88666834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.88670692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.88672791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.887144961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.887948152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT MAX(value) AS max_version FROM oximeter.version;"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.889572424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.889619154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.889641764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.890073675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"oximeter database does not exist, or is out-of-date","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:48.890836756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/db/src/client/mod.rs:890","component":"oximeter"} {"msg":"read oximeter database version","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.890885636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/db/src/client/mod.rs:795","component":"oximeter","version":0} {"msg":"initializing oximeter schema","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.890936276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/db/src/client/mod.rs:800","component":"oximeter"} {"msg":"initializing ClickHouse database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.890955476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.891045166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/0/component/sp/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"976152de-5d16-4678-b74c-95c8f70df184\", \"content-length\": \"111\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.891195647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/0/component/rot/caboose?firmware_slot=0","method":"GET"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.891615077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"CREATE DATABASE IF NOT EXISTS oximeter"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.892102148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.898038217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"Vpc\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.898103587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.898122297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.898148987Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.898180997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.898201097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.898603958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.89959523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\n/* The version table contains metadata about the `oximeter` database */\nCREATE TABLE IF NOT EXISTS oximeter.version\n(\n value UInt64,\n timestamp DateTime64(9, 'UTC')\n)\nENGINE = MergeTree()\nORDER BY (value, timestamp)"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.900447491Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/0/component/rot/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"fc3812f3-5f61-42db-baef-ff61be307348\", \"content-length\": \"163\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.900884342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/0/component/rot/caboose?firmware_slot=1","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.901182972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.901913513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.902128833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.902650314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.903339675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\n/* The measurement tables contain all individual samples from each timeseries.\n *\n * Each table stores a single datum type, and otherwise contains nearly the same\n * structure. The primary sorting key is on the timeseries name, key, and then\n * timestamp, so that all timeseries from the same schema are grouped, followed\n * by all samples from the same timeseries.\n *\n * This reflects that one usually looks up the _key_ in one or more field table,\n * and then uses that to index quickly into the measurements tables.\n */\nCREATE TABLE IF NOT EXISTS oximeter.measurements_bool\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Bool)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.904572397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.904611117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.904632907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.904918208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.905602019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_i8\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Int8)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:48.906020889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/producers","method":"POST","req_id":"99fd8fc4-5a0a-4e9f-ab1d-cb13905434ef","remote_addr":"127.0.0.1:36598","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","error_message_external":"Service Unavailable","error_message_internal":"no Oximeter instances available for assignment","latency_us":50597,"response_code":503} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.90641965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/producers\", status: 503, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"99fd8fc4-5a0a-4e9f-ab1d-cb13905434ef\", \"content-length\": \"133\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"failed to register with Nexus, will retry","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:48.9065558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"producer-registration-task","file":"oximeter/producer/src/lib.rs:376","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","error":"Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"99fd8fc4-5a0a-4e9f-ab1d-cb13905434ef\", \"content-length\": \"133\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"}; value: Error { error_code: Some(\"ServiceNotAvailable\"), message: \"Service Unavailable\", request_id: \"99fd8fc4-5a0a-4e9f-ab1d-cb13905434ef\" }","delay":"166.416783ms","count":"0"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.906864011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.911696828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.911758398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.911818958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.912014309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.912509189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_u8\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(UInt8)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.91308212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/0/component/rot/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f2169618-9423-4855-821c-1e1bd9b0ca23\", \"content-length\": \"163\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.91315423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/0/component/stage0/caboose?firmware_slot=0","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.913867821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/0/component/stage0/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d66ac8e1-bf64-4cf8-ade1-a27efa034102\", \"content-length\": \"166\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.914006052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/0/component/stage0/caboose?firmware_slot=1","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.914064012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.914103852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.914311282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.915074613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_i16\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Int16)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.915445574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/0/component/stage0/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6942eebc-7b2f-486c-89b4-331e77ddce42\", \"content-length\": \"166\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.915543034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/0/component/rot/cmpa","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.917849097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.917907968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.918037528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.918581759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_u16\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(UInt16)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.91919092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/0/component/rot/cmpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"5f07ba83-a39f-4286-a5d3-f99b582c3921\", \"content-length\": \"702\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.91942219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:57153/sp/switch/0/component/rot/cfpa","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.91950753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.91954093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.91980329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.920704202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_i32\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Int32)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.920947642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"c807cdbf-6eb5-427f-8812-bd0f92fbd437\", \"content-length\": \"727\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.921131802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:57153/sp/switch/0/component/rot/cfpa","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.921405373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.921494573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.921530713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.921561283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.921715163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.922451495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"afbce204-8be9-4123-80a8-0c06c169bbe7\", \"content-length\": \"729\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.922532175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:57153/sp/switch/0/component/rot/cfpa","method":"GET"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.922702475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_u32\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(UInt32)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.923225376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e35da25b-028b-4834-aa3c-fd3248d587a5\", \"content-length\": \"728\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.923288196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/1","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.924314797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.924386227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.924412318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.925030428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.92625833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_i64\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Int64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.927890353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.927926323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.927952263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.928506134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.929070475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_u64\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(UInt64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.929223725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"31599c39-0044-4371-bcf6-8530250bd8ba\", \"content-length\": \"734\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.929400625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/1/component/sp/caboose?firmware_slot=0","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.934888214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.939735211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ById(001de000-074c-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"Vpc\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.939810141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.939832621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.939858951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.939882661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.939903921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.940503052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.941467874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_f32\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Float32)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.942217435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/1/component/sp/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d613ccee-5121-40e6-aa10-9e0ec0242ea8\", \"content-length\": \"111\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.942249775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/1/component/sp/caboose?firmware_slot=1","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.942575175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.947062502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.947097812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.947117482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.947290602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.947960904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_f64\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.948556024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/1/component/sp/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f42c03f2-7434-45e4-87b3-893506737916\", \"content-length\": \"111\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.948624255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/1/component/rot/caboose?firmware_slot=0","method":"GET"} {"msg":"fetched allowlist from DB","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.949231795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","allowed":"AllowList { id: 001de000-a110-4000-8000-000000000000, time_created: 2026-06-10T21:34:19.406206Z, time_modified: 2026-06-10T21:34:47.460188Z, allowed_ips: None }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.949293276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.949318286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.949585456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.950509267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/1/component/rot/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6b452d98-27df-4278-8867-b704c0132927\", \"content-length\": \"163\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.950574068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/1/component/rot/caboose?firmware_slot=1","method":"GET"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.950761218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_string\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(String)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.954466673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/1/component/rot/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"120cb816-6aa6-4bea-a745-9db29befee2d\", \"content-length\": \"163\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.954553074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/1/component/stage0/caboose?firmware_slot=0","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.954587594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.954611794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.954631824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.954655344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_bytes\n(\n timeseries_name String,\n timeseries_key UInt64,\n timestamp DateTime64(9, 'UTC'),\n /*\n * NOTE: Right now we can't unambiguously record a nullable byte array.\n * Arrays cannot be nested in `Nullable()` types, and encoding the array as\n * a string isn't palatable for a few reasons.\n * See: https://github.com/oxidecomputer/omicron/issues/4551 for more\n * details.\n */\n datum Array(UInt8)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.954688374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/1/component/stage0/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"3b2b7fef-8ecb-4675-8955-32bc8d59a1f0\", \"content-length\": \"166\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.954712614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/1/component/stage0/caboose?firmware_slot=1","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.954734684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.954758314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.954779074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.955006204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_cumulativei64\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Int64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.955642315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/1/component/stage0/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"2cb5e521-4021-450d-9d4b-19900b8de9af\", \"content-length\": \"166\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.955722515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/switch/1/component/rot/cmpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.956063436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/1/component/rot/cmpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"eeb2c39e-bffb-4552-b13f-ee09501c6d1c\", \"content-length\": \"702\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.956125136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:57153/sp/switch/1/component/rot/cfpa","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.956248486Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.956270566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.956537017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.959394681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_cumulativeu64\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(UInt64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.959815432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"9b56a3b1-7659-4b3a-a2c6-7793705fae54\", \"content-length\": \"727\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.960047472Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:57153/sp/switch/1/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.960359402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"62c508e0-8049-4fe1-a90a-637cfddcab56\", \"content-length\": \"729\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.960425383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:57153/sp/switch/1/component/rot/cfpa","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.960588943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000002, lookup_type: ByName(\"nexus\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.960631123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.960654413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.960696623Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.960946613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.961773995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_cumulativef32\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Float32)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.969188976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/switch/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6aec108a-4fd0-440f-be69-e185574a021f\", \"content-length\": \"728\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.969593457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/0","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.969932027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.969980027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.970008367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.970420078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.97152932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_cumulativef64\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n datum Nullable(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.972796661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"b0e5a66e-1595-4360-bb32-9c609cf5e63b\", \"content-length\": \"723\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.973124922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/0/component/host-boot-flash/active-slot","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.973256992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.973287522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.973309812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.973613513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.974313144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogrami8\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n /*\n * NOTE: Array types cannot be Nullable, see\n * https://clickhouse.com/docs/en/sql-reference/data-types/nullable\n * for more details.\n *\n * This means we need to use empty arrays to indicate a missing value. This\n * is unfortunate, and at this point relies on the fact that an\n * `oximeter::Histogram` cannot have zero bins. If that changes, we'll need\n * to figure out another way to represent missing samples here.\n */\n bins Array(Int8),\n counts Array(UInt64),\n min Int8,\n max Int8,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.974687964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/0/component/host-boot-flash/active-slot\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"583c37bf-0c8d-4cfa-8dc9-ddcd8d9669d4\", \"content-length\": \"10\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.974803545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/0/component/host-boot-flash/hash/0","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.975303275Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.981281124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000002, lookup_type: ByName(\"nexus\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"VpcSubnet\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.981361075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.981402635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000002, lookup_type: ByName(\"nexus\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.981442765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.981464325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.981496745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.981633835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.982590826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogramu8\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(UInt8),\n counts Array(UInt64),\n min UInt8,\n max UInt8,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.982820377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/0/component/host-boot-flash/hash/0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"2f78acfb-b2ac-4d1a-92c1-ceb4b7100fbb\", \"content-length\": \"144\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.982955557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/0/component/host-boot-flash/hash/1","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.984038129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.984078159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.984100439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.98474116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.985641821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogrami16\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(Int16),\n counts Array(UInt64),\n min Int16,\n max Int16,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.985858181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/0/component/host-boot-flash/hash/1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"9496444b-ee2e-4990-88fb-6729261aa079\", \"content-length\": \"147\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.985982662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/0/component/sp/caboose?firmware_slot=0","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.986756233Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.986793253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.986862893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.987223104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.987543234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogramu16\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(UInt16),\n counts Array(UInt64),\n min UInt16,\n max UInt16,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.987840084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/0/component/sp/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"25294efc-6bd0-4f74-97a5-cc5ecf88e12f\", \"content-length\": \"109\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.987877565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/0/component/sp/caboose?firmware_slot=1","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.988618026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/0/component/sp/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"2e1fdca5-79b6-4ce0-8d05-d198555580d0\", \"content-length\": \"109\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.988661606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/0/component/rot/caboose?firmware_slot=0","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.988799706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.994976605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000002, lookup_type: ByName(\"nexus\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.995076136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.995102636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.995364636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:48.996141777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogrami32\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(Int32),\n counts Array(UInt64),\n min Int32,\n max Int32,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.997087009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/0/component/rot/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"3e826ddc-8fbb-4f14-9ba8-c974bd830d64\", \"content-length\": \"163\", \"date\": \"Wed, 10 Jun 2026 21:34:48 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:48.997214209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/0/component/rot/caboose?firmware_slot=1","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.003287568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.003347068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.004164739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.005532342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogramu32\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(UInt32),\n counts Array(UInt64),\n min UInt32,\n max UInt32,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.006793923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.006843554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.007173534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.007985425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogrami64\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(Int64),\n counts Array(UInt64),\n min Int64,\n max Int64,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.009293337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/0/component/rot/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"5a55deb8-6281-4afe-84d9-6443be5cdf6e\", \"content-length\": \"163\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.009444528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/0/component/stage0/caboose?firmware_slot=0","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.009623328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.009661638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.010118269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.011552111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/0/component/stage0/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d0c27f57-9eda-4ea5-b649-760e4568b39b\", \"content-length\": \"166\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.011625961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/0/component/stage0/caboose?firmware_slot=1","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.012381452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/0/component/stage0/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ee80dec5-ebac-4d94-ac4d-67b983347089\", \"content-length\": \"166\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.012432782Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/0/component/rot/cmpa","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.012672132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.012721813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.012922763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.014682546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogramu64\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(UInt64),\n counts Array(UInt64),\n min UInt64,\n max UInt64,\n sum_of_samples Int64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.014817126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/0/component/rot/cmpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"8ffee05c-d77b-42b4-a6b6-67d2a3acf799\", \"content-length\": \"702\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.014851196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:57153/sp/sled/0/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.015381927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"b3a4b203-0b1f-463c-9e10-d008c463c1dc\", \"content-length\": \"727\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.015462687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:57153/sp/sled/0/component/rot/cfpa","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.015838387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000001, lookup_type: ByName(\"external-dns\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.015878587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.015900877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.015923507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.016307318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.01774988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"2b7d7342-4f18-4827-83e9-863983a80057\", \"content-length\": \"729\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.01780299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:57153/sp/sled/0/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.022527868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6d4cc03b-10a8-437a-bdda-8b042459fbd8\", \"content-length\": \"728\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.023784409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/1","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.02402704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.02406286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.02408532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.025188442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.027325355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogramf32\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(Float32),\n counts Array(UInt64),\n min Float32,\n max Float32,\n sum_of_samples Float64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.03073439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.03086954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.03089243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.031323241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.036636329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.measurements_histogramf64\n(\n timeseries_name String,\n timeseries_key UInt64,\n start_time DateTime64(9, 'UTC'),\n timestamp DateTime64(9, 'UTC'),\n bins Array(Float64),\n counts Array(UInt64),\n min Float64,\n max Float64,\n sum_of_samples Float64,\n squared_mean Float64,\n p50_marker_heights Array(Float64),\n p50_marker_positions Array(UInt64),\n p50_desired_marker_positions Array(Float64),\n p90_marker_heights Array(Float64),\n p90_marker_positions Array(UInt64),\n p90_desired_marker_positions Array(Float64),\n p99_marker_heights Array(Float64),\n p99_marker_positions Array(UInt64),\n p99_desired_marker_positions Array(Float64)\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, timeseries_key, start_time, timestamp)\nTTL toDateTime(timestamp) + INTERVAL 30 DAY"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.040399095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.050939671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000001, lookup_type: ByName(\"external-dns\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"VpcSubnet\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.051160571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.051265561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000001, lookup_type: ByName(\"external-dns\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.051299301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-4401-4000-8000-000000000000","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.051326172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.051382922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.051764712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.052941814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\n/* The field tables store named dimensions of each timeseries.\n *\n * As with the measurement tables, there is one field table for each field data\n * type. Fields are deduplicated by using the \"replacing merge tree\", though\n * this behavior **must not** be relied upon for query correctness.\n *\n * The index for the fields differs from the measurements, however. Rows are\n * sorted by timeseries name, then field name, field value, and finally\n * timeseries key. This reflects the most common pattern for looking them up:\n * by field name and possibly value, within a timeseries. The resulting keys are\n * usually then used to look up measurements.\n *\n * NOTE: We may want to consider a secondary index on these tables, sorting by\n * timeseries name and then key, since it would improve lookups where one\n * already has the key. Realistically though, these tables are quite small and\n * so performance benefits will be low in absolute terms.\n *\n * TTL: We use a materialized column to expire old field table records. This\n * column is generated automatically by the database whenever a new row is\n * inserted. It cannot be inserted directly, nor is it returned in a `SELECT *`\n * query. Since these tables are `ReplacingMergeTree`s, that means the last\n * record will remain during a deduplication, which will have the last\n * timestamp. ClickHouse will then expire old data for us, similar to the\n * measurement tables.\n */\nCREATE TABLE IF NOT EXISTS oximeter.fields_bool\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value Bool,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.055043997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"8a5e44ce-6d8b-40a8-81ce-efa123849ec4\", \"content-length\": \"723\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.055220747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/1/component/host-boot-flash/active-slot","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.055407138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000001","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.055438548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.055488378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.055803078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.05659036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_i8\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value Int8,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.060301515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.060349945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.060371205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.060795036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.062155788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_u8\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value UInt8,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.06340312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.069525859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000001, lookup_type: ById(001de000-5110-4000-8000-000000000001) }, key: 001de000-4401-4000-8000-000000000000, lookup_type: ById(001de000-4401-4000-8000-000000000000) }, key: 001de000-074c-4000-8000-000000000000, lookup_type: ByName(\"oxide-services\") }, key: 001de000-c470-4000-8000-000000000001, lookup_type: ByName(\"external-dns\") }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.069575829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.069603089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.06989176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.070796911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_i16\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value Int16,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.071203172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/1/component/host-boot-flash/active-slot\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"41985bb9-54ae-4f87-afd6-3c80ca780267\", \"content-length\": \"10\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.071286142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/1/component/host-boot-flash/hash/0","method":"GET"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.075649949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_u16\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value UInt16,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.076816051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/1/component/host-boot-flash/hash/0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"52ee605c-0703-4523-bb4d-9267f1948571\", \"content-length\": \"144\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.076949891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/1/component/host-boot-flash/hash/1","method":"GET"} {"msg":"resolved names for firewall rules","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.078736293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","subnet_networks":"{Name(\"external-dns\"): [V4(Ipv4Network { addr: 172.30.1.0, prefix: 24 }), V6(Ipv6Network { addr: fd77:e9d2:9cd9:1::, prefix: 64 })], Name(\"nexus\"): [V4(Ipv4Network { addr: 172.30.2.0, prefix: 24 }), V6(Ipv6Network { addr: fd77:e9d2:9cd9:2::, prefix: 64 })]}","subnet_interfaces":"{Name(\"external-dns\"): [NetworkInterface { id: a7002289-69db-4b12-9240-a26519f9eec6, kind: Service { id: 54ea84a1-fcdf-409a-93c5-25cd3572809f }, name: Name(\"external-dns-54ea84a1-fcdf-409a-93c5-25cd3572809f\"), ip_config: V6(PrivateIpv6Config { ip: fd77:e9d2:9cd9:1::6, subnet: Ipv6Net { addr: fd77:e9d2:9cd9:1::, width: 64 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 0])), vni: Vni(100), primary: true, slot: 0 }], Name(\"nexus\"): [NetworkInterface { id: 081127c5-7cae-426b-87f8-e563f018ba83, kind: Service { id: 913233fe-92a8-4635-9572-183f495429c4 }, name: Name(\"nexus-913233fe-92a8-4635-9572-183f495429c4\"), ip_config: V4(PrivateIpv4Config { ip: 172.30.2.6, subnet: Ipv4Net { addr: 172.30.2.0, width: 24 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 1])), vni: Vni(100), primary: true, slot: 0 }]}","vpc_interfaces":"{}","instance_interfaces":"{}"} {"msg":"resolved firewall rules for sled agents","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.078872374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","sled_agent_rules":"[ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: a7002289-69db-4b12-9240-a26519f9eec6, kind: Service { id: 54ea84a1-fcdf-409a-93c5-25cd3572809f }, name: Name(\"external-dns-54ea84a1-fcdf-409a-93c5-25cd3572809f\"), ip_config: V6(PrivateIpv6Config { ip: fd77:e9d2:9cd9:1::6, subnet: Ipv6Net { addr: fd77:e9d2:9cd9:1::, width: 64 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 0])), vni: Vni(100), primary: true, slot: 0 }], filter_hosts: None, filter_ports: Some([L4PortRange { first: L4Port(53), last: L4Port(53) }]), filter_protocols: Some([Udp]), action: Allow, priority: VpcFirewallRulePriority(65534) }, ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 081127c5-7cae-426b-87f8-e563f018ba83, kind: Service { id: 913233fe-92a8-4635-9572-183f495429c4 }, name: Name(\"nexus-913233fe-92a8-4635-9572-183f495429c4\"), ip_config: V4(PrivateIpv4Config { ip: 172.30.2.6, subnet: Ipv4Net { addr: 172.30.2.0, width: 24 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 1])), vni: Vni(100), primary: true, slot: 0 }, NetworkInterface { id: a7002289-69db-4b12-9240-a26519f9eec6, kind: Service { id: 54ea84a1-fcdf-409a-93c5-25cd3572809f }, name: Name(\"external-dns-54ea84a1-fcdf-409a-93c5-25cd3572809f\"), ip_config: V6(PrivateIpv6Config { ip: fd77:e9d2:9cd9:1::6, subnet: Ipv6Net { addr: fd77:e9d2:9cd9:1::, width: 64 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 0])), vni: Vni(100), primary: true, slot: 0 }], filter_hosts: None, filter_ports: None, filter_protocols: Some([Icmp(Some(VpcFirewallIcmpFilter { icmp_type: 3, code: Some(IcmpParamRange { first: 3, last: 4 }) })), Icmp(Some(VpcFirewallIcmpFilter { icmp_type: 5, code: None })), Icmp(Some(VpcFirewallIcmpFilter { icmp_type: 11, code: None }))]), action: Allow, priority: VpcFirewallRulePriority(65534) }, ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 081127c5-7cae-426b-87f8-e563f018ba83, kind: Service { id: 913233fe-92a8-4635-9572-183f495429c4 }, name: Name(\"nexus-913233fe-92a8-4635-9572-183f495429c4\"), ip_config: V4(PrivateIpv4Config { ip: 172.30.2.6, subnet: Ipv4Net { addr: 172.30.2.0, width: 24 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 1])), vni: Vni(100), primary: true, slot: 0 }], filter_hosts: None, filter_ports: Some([L4PortRange { first: L4Port(80), last: L4Port(80) }, L4PortRange { first: L4Port(443), last: L4Port(443) }]), filter_protocols: Some([Tcp]), action: Allow, priority: VpcFirewallRulePriority(65534) }]"} {"msg":"resolved 3 rules for sleds","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.078972914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.079942045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_i32\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value Int32,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.084576992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_u32\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value UInt32,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.084948013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/1/component/host-boot-flash/hash/1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"63c286bd-b807-4f88-ae51-35675ae90920\", \"content-length\": \"147\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.085075073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/1/component/sp/caboose?firmware_slot=0","method":"GET"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.086305215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_i64\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value Int64,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.088267308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/1/component/sp/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"5802c050-0a4d-4400-9cd5-707af18792b6\", \"content-length\": \"109\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.088321468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/1/component/sp/caboose?firmware_slot=1","method":"GET"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.088343438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_u64\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value UInt64,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.0896259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/1/component/sp/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"0cf253cb-f3bc-452a-bf47-79b6f5073ed2\", \"content-length\": \"109\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.08975099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/1/component/rot/caboose?firmware_slot=0","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.090669592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/1/component/rot/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f051b21c-7146-4d65-89d3-b90b8aa47d76\", \"content-length\": \"163\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.090858542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/1/component/rot/caboose?firmware_slot=1","method":"GET"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.090982302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_ipaddr\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value IPv6,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.092068864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/1/component/rot/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"5c81de06-4335-4114-b9ab-50d8d7cb71eb\", \"content-length\": \"163\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.092117984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/1/component/stage0/caboose?firmware_slot=0","method":"GET"} {"msg":"resolved sleds for vpc oxide-services","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.092508715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","vpc_to_sled":"[Sled { identity: SledIdentity { id: b6d65341-167c-41df-9b5c-41cded99c229 (sled), time_created: 2026-06-10T21:34:44.218578Z, time_modified: 2026-06-10T21:34:44.218578Z }, time_deleted: None, rcgen: Generation(Generation(1)), rack_id: c19a698f-c6f9-4a17-ae30-20d711b8f7dc, is_scrimlet: true, serial_number: \"SimGimlet00\", part_number: \"i86pc\", revision: SqlU32(3), usable_hardware_threads: SqlU32(16), usable_physical_ram: ByteCount(ByteCount(34359738368)), reservoir_size: ByteCount(ByteCount(17179869184)), ip: ::1, port: SqlU16(62019), last_used_address: ::ffff, policy: InService, state: Active, sled_agent_gen: Generation(Generation(1)), repo_depot_port: SqlU16(50959), cpu_family: AmdMilan }]"} {"msg":"sending firewall rules to sled agents","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.092553565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.275451574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.275507314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.276050995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.278183228Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_string\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value String,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"will register with Nexus at 127.0.0.1:49805","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.278330329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.409262209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://127.0.0.1:49805/metrics/producers","method":"POST"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.40997941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\nCREATE TABLE IF NOT EXISTS oximeter.fields_uuid\n(\n timeseries_name String,\n timeseries_key UInt64,\n field_name String,\n field_value UUID,\n last_updated_at DateTime MATERIALIZED now()\n)\nENGINE = ReplacingMergeTree()\nORDER BY (timeseries_name, field_name, field_value, timeseries_key)\nTTL last_updated_at + INTERVAL 30 DAY"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:49.41007583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:57395"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.410579271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/producers","method":"POST","req_id":"d0cf5395-8270-41ce-9a8c-fa4689b2e5ad","remote_addr":"127.0.0.1:57395","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.410602611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/producers","method":"POST","req_id":"d0cf5395-8270-41ce-9a8c-fa4689b2e5ad","remote_addr":"127.0.0.1:57395","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.411005521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"d0cf5395-8270-41ce-9a8c-fa4689b2e5ad","remote_addr":"127.0.0.1:57395","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.411061702Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"d0cf5395-8270-41ce-9a8c-fa4689b2e5ad","remote_addr":"127.0.0.1:57395","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.411350222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"d0cf5395-8270-41ce-9a8c-fa4689b2e5ad","remote_addr":"127.0.0.1:57395","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.412183253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.412210593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.412236273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.412261093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.412525554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.413450055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"\n\n/* The timeseries schema table stores the extracted schema for the samples\n * oximeter collects.\n */\nCREATE TABLE IF NOT EXISTS oximeter.timeseries_schema\n(\n timeseries_name String,\n fields Nested(\n name String,\n type Enum(\n 'Bool' = 1,\n 'I64' = 2,\n 'IpAddr' = 3,\n 'String' = 4,\n 'Uuid' = 6,\n 'I8' = 7,\n 'U8' = 8,\n 'I16' = 9,\n 'U16' = 10,\n 'I32' = 11,\n 'U32' = 12,\n 'U64' = 13\n ),\n source Enum(\n 'Target' = 1,\n 'Metric' = 2\n )\n ),\n datum_type Enum(\n 'Bool' = 1,\n 'I64' = 2,\n 'F64' = 3,\n 'String' = 4,\n 'Bytes' = 5,\n 'CumulativeI64' = 6,\n 'CumulativeF64' = 7,\n 'HistogramI64' = 8,\n 'HistogramF64' = 9,\n 'I8' = 10,\n 'U8' = 11,\n 'I16' = 12,\n 'U16' = 13,\n 'I32' = 14,\n 'U32' = 15,\n 'U64' = 16,\n 'F32' = 17,\n 'CumulativeU64' = 18,\n 'CumulativeF32' = 19,\n 'HistogramI8' = 20,\n 'HistogramU8' = 21,\n 'HistogramI16' = 22,\n 'HistogramU16' = 23,\n 'HistogramI32' = 24,\n 'HistogramU32' = 25,\n 'HistogramU64' = 26,\n 'HistogramF32' = 27\n ),\n created DateTime64(9, 'UTC')\n)\nENGINE = MergeTree()\nORDER BY (timeseries_name, fields.name)"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.414078536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/1/component/stage0/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"de4913de-9396-45fb-ae81-ddb4a7bdedee\", \"content-length\": \"166\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.414271866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/1/component/stage0/caboose?firmware_slot=1","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.414490907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.420056335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.420288886Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:62019/vpc/001de000-074c-4000-8000-000000000000/firewall/rules","method":"PUT"} {"msg":"inserting current version","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:49.421419697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/db/src/client/mod.rs:821","component":"oximeter","version":14} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.421470327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"INSERT INTO oximeter.version (*) VALUES (14, now());"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:49.421492627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:56617"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:49.422475679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vpc/001de000-074c-4000-8000-000000000000/firewall/rules","method":"PUT","req_id":"12881acf-92a2-44e3-b42b-6ec05fdbdc12","remote_addr":"[::1]:56617","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.422519529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vpc/001de000-074c-4000-8000-000000000000/firewall/rules","method":"PUT","req_id":"12881acf-92a2-44e3-b42b-6ec05fdbdc12","remote_addr":"[::1]:56617","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:49.42329224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vpc/001de000-074c-4000-8000-000000000000/firewall/rules","method":"PUT","req_id":"12881acf-92a2-44e3-b42b-6ec05fdbdc12","remote_addr":"[::1]:56617","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":940,"response_code":204} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.423599381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/vpc/001de000-074c-4000-8000-000000000000/firewall/rules\", status: 204, headers: {\"x-request-id\": \"12881acf-92a2-44e3-b42b-6ec05fdbdc12\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"updated firewall rules on 1 sleds","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:49.423659381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"successfully propagated service firewall rules","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.423682151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","elapsed":"687.939411ms"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.423708391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"lookup_error\":null,\"sled_push_errors\":null}","iteration":2,"elapsed":"687.982041ms"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.424420092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/1/component/stage0/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"831b3641-333d-4639-b04f-8ea77954a0e4\", \"content-length\": \"166\", \"date\": \"Wed, 10 Jun 2026 21:34:49 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.424520172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/sp/sled/1/component/rot/cmpa","method":"GET"} {"msg":"registered USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.425998344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"9864d1dd-8a04-45c9-8b37-5c522317c3e6","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.426771666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:63603","component":"dropshot","component":"oximeter","versions":"all","path":"/info","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.426813546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:63603","component":"dropshot","component":"oximeter","versions":"all","path":"/producers","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.426860776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:63603","component":"dropshot","component":"oximeter","versions":"all","path":"/producers/{producer_id}","method":"DELETE"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.426901326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:63603","component":"dropshot","component":"oximeter","versions":"all","path":"/producers/{producer_id}","method":"GET"} {"msg":"listening","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:49.426919276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:63603","component":"dropshot","file":"/home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dropshot-0.17.0/src/server.rs:335","component":"oximeter"} {"msg":"successfully registered DTrace USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.427254026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:63603","component":"dropshot","component":"oximeter"} {"msg":"registered USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.427857137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter"} {"msg":"contacting nexus","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:49.427895637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.117459321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/producers","method":"POST","req_id":"d0cf5395-8270-41ce-9a8c-fa4689b2e5ad","remote_addr":"127.0.0.1:57395","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","error_message_external":"Service Unavailable","error_message_internal":"no Oximeter instances available for assignment","latency_us":706847,"response_code":503} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.117861731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"Some(Body)","uri":"http://127.0.0.1:49805/metrics/collectors","method":"POST"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.118465132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/producers\", status: 503, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d0cf5395-8270-41ce-9a8c-fa4689b2e5ad\", \"content-length\": \"133\", \"date\": \"Wed, 10 Jun 2026 21:34:50 GMT\"} })"} {"msg":"failed to register with Nexus, will retry","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:50.118597812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"producer-registration-task","file":"oximeter/producer/src/lib.rs:376","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","error":"Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d0cf5395-8270-41ce-9a8c-fa4689b2e5ad\", \"content-length\": \"133\", \"date\": \"Wed, 10 Jun 2026 21:34:50 GMT\"}; value: Error { error_code: Some(\"ServiceNotAvailable\"), message: \"Service Unavailable\", request_id: \"d0cf5395-8270-41ce-9a8c-fa4689b2e5ad\" }","delay":"1.378460255s","count":"1"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.118864793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:54966"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.119702794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/1/component/rot/cmpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"4be95fb3-5a88-47ae-b80d-2b688d7e39b0\", \"content-length\": \"702\", \"date\": \"Wed, 10 Jun 2026 21:34:50 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.119794214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:57153/sp/sled/1/component/rot/cfpa","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.120325815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors","method":"POST","req_id":"ab8c46d7-b5fe-46d9-8c0a-2a6c9fc9ba72","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.120350175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors","method":"POST","req_id":"ab8c46d7-b5fe-46d9-8c0a-2a6c9fc9ba72","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.120748496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors","method":"POST","req_id":"ab8c46d7-b5fe-46d9-8c0a-2a6c9fc9ba72","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.120836986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors","method":"POST","req_id":"ab8c46d7-b5fe-46d9-8c0a-2a6c9fc9ba72","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.121204416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors","method":"POST","req_id":"ab8c46d7-b5fe-46d9-8c0a-2a6c9fc9ba72","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"registered new oximeter metric collection server","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.125406333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","address":"[::1]:63603","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.125518083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors","method":"POST","req_id":"ab8c46d7-b5fe-46d9-8c0a-2a6c9fc9ba72","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":5197,"response_code":204} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.125926404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors\", status: 204, headers: {\"x-request-id\": \"ab8c46d7-b5fe-46d9-8c0a-2a6c9fc9ba72\", \"date\": \"Wed, 10 Jun 2026 21:34:50 GMT\"} })"} {"msg":"oximeter registered with nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.125961174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"file":"oximeter/collector/src/lib.rs:464","component":"oximeter","id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78"} {"msg":"Running step start_producer_server","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.125979424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"init_with_steps"} {"msg":"Starting test metric Producer Server","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.125993954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.127877407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:55822/v1/system/ip-pools","method":"POST"} {"msg":"starting refresh list task","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.128425267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:562","component":"oximeter"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.2153298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f02e60f2-66a1-407d-88ef-d1734afa5901\", \"content-length\": \"727\", \"date\": \"Wed, 10 Jun 2026 21:34:50 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.2154054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:57153/sp/sled/1/component/rot/cfpa","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.215756351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:43968"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.216017981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:32930"} {"msg":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.216084951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:565","component":"oximeter"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.216986673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.217287053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"5195c0de-f33a-4246-89dc-e2990e214991","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.217320513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"5195c0de-f33a-4246-89dc-e2990e214991","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.217395673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/producers","method":"POST","req_id":"2244fa71-da58-4074-8fde-fccb26c78bc4","remote_addr":"127.0.0.1:43968","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.217418293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/producers","method":"POST","req_id":"2244fa71-da58-4074-8fde-fccb26c78bc4","remote_addr":"127.0.0.1:43968","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.218278475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"5195c0de-f33a-4246-89dc-e2990e214991","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.218310865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"5195c0de-f33a-4246-89dc-e2990e214991","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.218739395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"5195c0de-f33a-4246-89dc-e2990e214991","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.219625437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"2244fa71-da58-4074-8fde-fccb26c78bc4","remote_addr":"127.0.0.1:43968","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.219657207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"2244fa71-da58-4074-8fde-fccb26c78bc4","remote_addr":"127.0.0.1:43968","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.220018867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"2244fa71-da58-4074-8fde-fccb26c78bc4","remote_addr":"127.0.0.1:43968","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.220608678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.220633038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060800.0.0"} {"msg":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.222591241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"looking up silo for user","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.222647381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","silo_user_id":"001de000-05e4-4000-8000-000000004007"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.222731842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.222754662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.223050022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.226314327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"bc399092-52d3-45ac-8384-31abf60f8450\", \"content-length\": \"729\", \"date\": \"Wed, 10 Jun 2026 21:34:50 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.226449167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:57153/sp/sled/1/component/rot/cfpa","method":"GET"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.226822748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"5195c0de-f33a-4246-89dc-e2990e214991","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":9542,"response_code":200} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.226920678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.226946098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.229317982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.231126014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"5195c0de-f33a-4246-89dc-e2990e214991\", \"content-length\": \"29\", \"date\": \"Wed, 10 Jun 2026 21:34:50 GMT\"} })"} {"msg":"refreshed list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.231206965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:640","component":"oximeter","n_current_tasks":0,"n_pruned_tasks":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.233869219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.233937339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.233960479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.233980049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.234330519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.238245325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"addr":"[::1]:57153","gateway_url":"http://[::1]:57153","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/sp/sled/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"8713ebf1-9a51-4cd1-a36d-7bd40195a62e\", \"content-length\": \"728\", \"date\": \"Wed, 10 Jun 2026 21:34:50 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.238488406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.238522126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.238544286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.238719836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.239245117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.242125031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.242172641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.242196471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.242525982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.243358543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.245805077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.245852557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.245876147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.245899657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.245920397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.245943157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.249359152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.251329075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.251375395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.251399485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.251691286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.252691527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.256492733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.256536963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.256570913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.256778844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"assigned collector to new producer","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.257737205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.257931225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/producers","method":"POST","req_id":"2244fa71-da58-4074-8fde-fccb26c78bc4","remote_addr":"127.0.0.1:43968","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":40514,"response_code":201} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.258816307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.258854977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.258878337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.258897177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.259163487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.261275171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.261331371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.261355571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.261644911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.266641669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.268535982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authn result: Ok(Context { kind: Authenticated(Details { actor: Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }, device_token_expiration: None, credential_id: None }, Some(SiloAuthnPolicy { mapped_fleet_roles: {} })), schemes_tried: [Spoof] })","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.268586272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.268639462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.268674292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.268705892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.268732692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.268978302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.270143704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:63178","req_id":"7eda2de8-07ab-4bc7-aa2a-ad6560e0cd7e","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: c2 22 01 00 00 01 00 00 00 00 00 01 04 5f 6d 67 .\"..........._mg\n0010: 73 04 5f 74 63 70 0d 63 6f 6e 74 72 6f 6c 2d 70 s._tcp.control-p\n0020: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0030: 6e 61 6c 00 00 21 00 01 00 00 29 04 d0 00 00 00 nal..!....).....\n0040: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.270227954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:63178","req_id":"7eda2de8-07ab-4bc7-aa2a-ad6560e0cd7e","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 49698,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 115,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.270434315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_mgs._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.270466075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.270486505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:63178","req_id":"7eda2de8-07ab-4bc7-aa2a-ad6560e0cd7e","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 57153, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_mgs._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.270603705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:52221","req_id":"8fb044dd-cc3a-4bfe-9ca8-4866f30c7e48","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 74 (0x4a) bytes\n0000: 6e 20 01 00 00 01 00 00 00 00 00 01 0b 5f 72 65 n ..........._re\n0010: 70 6f 2d 64 65 70 6f 74 04 5f 74 63 70 0d 63 6f po-depot._tcp.co\n0020: 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 ntrol-plane.oxid\n0030: 65 08 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 e.internal..!...\n0040: 00 29 04 d0 00 00 00 00 00 00 .)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.270632595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:52221","req_id":"8fb044dd-cc3a-4bfe-9ca8-4866f30c7e48","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 28192,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_repo-depot._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_repo-depot._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 11,\n 95,\n 114,\n 101,\n 112,\n 111,\n 45,\n 100,\n 101,\n 112,\n 111,\n 116,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.270711555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_repo-depot._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.270742015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"b6d65341-167c-41df-9b5c-41cded99c229.sled"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.270758185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:52221","req_id":"8fb044dd-cc3a-4bfe-9ca8-4866f30c7e48","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"b6d65341-167c-41df-9b5c-41cded99c229.sled.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_repo-depot._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 50959, target: Name(\"b6d65341-167c-41df-9b5c-41cded99c229.sled.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_repo-depot._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_repo-depot._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.270824935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:60288","req_id":"2f8ad75f-0c66-49f8-b05b-5dba9fc4d2aa","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 79 (0x4f) bytes\n0000: d8 49 01 00 00 01 00 00 00 00 00 01 10 5f 63 72 .I..........._cr\n0010: 75 63 69 62 6c 65 2d 70 61 6e 74 72 79 04 5f 74 ucible-pantry._t\n0020: 63 70 0d 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 cp.control-plane\n0030: 05 6f 78 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 .oxide.internal.\n0040: 00 21 00 01 00 00 29 04 d0 00 00 00 00 00 00 .!....)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.270850555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:60288","req_id":"2f8ad75f-0c66-49f8-b05b-5dba9fc4d2aa","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 55369,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_crucible-pantry._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_crucible-pantry._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 16,\n 95,\n 99,\n 114,\n 117,\n 99,\n 105,\n 98,\n 108,\n 101,\n 45,\n 112,\n 97,\n 110,\n 116,\n 114,\n 121,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.270924205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_crucible-pantry._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.270942935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"f4f1773f-5ed6-4cac-8446-bbfd1897af78.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.270959555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:60288","req_id":"2f8ad75f-0c66-49f8-b05b-5dba9fc4d2aa","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"f4f1773f-5ed6-4cac-8446-bbfd1897af78.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_crucible-pantry._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 52140, target: Name(\"f4f1773f-5ed6-4cac-8446-bbfd1897af78.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_crucible-pantry._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_crucible-pantry._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.271583066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:64095","req_id":"2db64c7b-505c-40fa-99c0-5476864c377a","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 5d 64 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e ]d..........-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.271616256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:64095","req_id":"2db64c7b-505c-40fa-99c0-5476864c377a","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 23908,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.271753667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.271770617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:64095","req_id":"2db64c7b-505c-40fa-99c0-5476864c377a","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.271797317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:54419","req_id":"e7c7b0ab-b6d2-49e8-97ed-e7b734f42621","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 99 (0x63) bytes\n0000: 41 12 01 00 00 01 00 00 00 00 00 01 24 62 36 64 A...........$b6d\n0010: 36 35 33 34 31 2d 31 36 37 63 2d 34 31 64 66 2d 65341-167c-41df-\n0020: 39 62 35 63 2d 34 31 63 64 65 64 39 39 63 32 32 9b5c-41cded99c22\n0030: 39 04 73 6c 65 64 0d 63 6f 6e 74 72 6f 6c 2d 70 9.sled.control-p\n0040: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0050: 6e 61 6c 00 00 1c 00 01 00 00 29 04 d0 00 00 00 nal.......).....\n0060: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.271824647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:54419","req_id":"e7c7b0ab-b6d2-49e8-97ed-e7b734f42621","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 16658,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"b6d65341-167c-41df-9b5c-41cded99c229.sled.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"b6d65341-167c-41df-9b5c-41cded99c229.sled.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 36,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 115,\n 108,\n 101,\n 100,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.271908617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"b6d65341-167c-41df-9b5c-41cded99c229.sled"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.271926017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:54419","req_id":"e7c7b0ab-b6d2-49e8-97ed-e7b734f42621","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"b6d65341-167c-41df-9b5c-41cded99c229.sled.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"b6d65341-167c-41df-9b5c-41cded99c229.sled.control-plane.oxide.internal.\")), original: Query { name: Name(\"b6d65341-167c-41df-9b5c-41cded99c229.sled.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.271951687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:59319","req_id":"90198acd-e5d5-47ce-8714-178ed5832f13","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 99 (0x63) bytes\n0000: 78 03 01 00 00 01 00 00 00 00 00 01 24 66 34 66 x...........$f4f\n0010: 31 37 37 33 66 2d 35 65 64 36 2d 34 63 61 63 2d 1773f-5ed6-4cac-\n0020: 38 34 34 36 2d 62 62 66 64 31 38 39 37 61 66 37 8446-bbfd1897af7\n0030: 38 04 68 6f 73 74 0d 63 6f 6e 74 72 6f 6c 2d 70 8.host.control-p\n0040: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0050: 6e 61 6c 00 00 1c 00 01 00 00 29 04 d0 00 00 00 nal.......).....\n0060: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.271977897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:59319","req_id":"90198acd-e5d5-47ce-8714-178ed5832f13","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 30723,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"f4f1773f-5ed6-4cac-8446-bbfd1897af78.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"f4f1773f-5ed6-4cac-8446-bbfd1897af78.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 36,\n 102,\n 52,\n 102,\n 49,\n 55,\n 55,\n 51,\n 102,\n 45,\n 53,\n 101,\n 100,\n 54,\n 45,\n 52,\n 99,\n 97,\n 99,\n 45,\n 56,\n 52,\n 52,\n 54,\n 45,\n 98,\n 98,\n 102,\n 100,\n 49,\n 56,\n 57,\n 55,\n 97,\n 102,\n 55,\n 56,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.272058897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"f4f1773f-5ed6-4cac-8446-bbfd1897af78.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.272096817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:59319","req_id":"90198acd-e5d5-47ce-8714-178ed5832f13","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"f4f1773f-5ed6-4cac-8446-bbfd1897af78.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"f4f1773f-5ed6-4cac-8446-bbfd1897af78.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"f4f1773f-5ed6-4cac-8446-bbfd1897af78.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.358592099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.359969651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.360075952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.360122562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.360248852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"begin collection from Sled Agent","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.429313907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","sled_agent_url":"http://[::1]:62019"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.429413738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"http://[::1]:62019","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/inventory","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.430294159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:35301"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.430329299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:44290"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.43074186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/inventory","method":"GET","req_id":"e3e674d4-5efa-4db1-9f02-659f635cb137","remote_addr":"[::1]:35301","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.43077007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/inventory","method":"GET","req_id":"e3e674d4-5efa-4db1-9f02-659f635cb137","remote_addr":"[::1]:35301","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:50.4309203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"42bf2a4b-a37e-44c2-8d35-235491612c53","remote_addr":"[::1]:44290","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.433185473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/inventory","method":"GET","req_id":"e3e674d4-5efa-4db1-9f02-659f635cb137","remote_addr":"[::1]:35301","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":2444,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:50.433241753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"42bf2a4b-a37e-44c2-8d35-235491612c53","remote_addr":"[::1]:44290","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":2343,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.433713774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"http://[::1]:62019","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/inventory\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e3e674d4-5efa-4db1-9f02-659f635cb137\", \"content-length\": \"20623\", \"date\": \"Wed, 10 Jun 2026 21:34:50 GMT\"} })"} {"msg":"begin collecting all keepers","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.435510067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","nkeeper_admin_clients":0} {"msg":"end collecting all keepers","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.435564937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","nkeeper_admin_clients":0} {"msg":"begin collection from CockroachDB nodes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:50.435593017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.051148297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"CockroachClusterAdminClient","component":"inventory_cockroach_client","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:32222/node/id","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.051421008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.051475998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.051513008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.051547448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.052200239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.053526991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:38484"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.053557961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:47200"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.053585501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:42067"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.053609071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:37172"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.053632351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:38431"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.053654851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:49547"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.053674641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:34162"} {"msg":"will register with Nexus at 127.0.0.1:49805","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.053969352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.13122542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://127.0.0.1:49805/metrics/producers","method":"POST"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.132155651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:55475"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.132516502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"6c0a2780-6486-4ce4-991b-49a09607c1aa","remote_addr":"[::1]:38484","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.132604322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"2b1c4f89-9522-461f-b4a1-de05449579e8","remote_addr":"[::1]:47200","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.132634322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"27d9a34a-508a-4fb4-9b76-95aa3277abd4","remote_addr":"[::1]:42067","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.132687992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"fa77dd37-d94e-4d1e-bea6-5cfcea62bd5f","remote_addr":"[::1]:37172","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.132757232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"b5db7784-c353-4e42-a98a-403b1b1f1885","remote_addr":"[::1]:38431","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.132781952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"2187d2d5-82b7-490d-85cc-45ea88d9de2c","remote_addr":"[::1]:49547","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.132810112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"44429017-2fd4-44ff-9fa8-7584b0c1af5d","remote_addr":"[::1]:34162","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"batch interval expired, but no samples to insert","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.132994422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"batch interval expired, but no samples to insert","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.133025542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.133055392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"6c0a2780-6486-4ce4-991b-49a09607c1aa","remote_addr":"[::1]:38484","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":557,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.133139243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"2b1c4f89-9522-461f-b4a1-de05449579e8","remote_addr":"[::1]:47200","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":503,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.133163353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"27d9a34a-508a-4fb4-9b76-95aa3277abd4","remote_addr":"[::1]:42067","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":473,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.133186383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"fa77dd37-d94e-4d1e-bea6-5cfcea62bd5f","remote_addr":"[::1]:37172","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":471,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.133214933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"b5db7784-c353-4e42-a98a-403b1b1f1885","remote_addr":"[::1]:38431","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":451,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.133238133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"2187d2d5-82b7-490d-85cc-45ea88d9de2c","remote_addr":"[::1]:49547","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":417,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.133262463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/crucible/pantry/0","method":"GET","req_id":"44429017-2fd4-44ff-9fa8-7584b0c1af5d","remote_addr":"[::1]:34162","local_addr":"[::1]:52140","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":377,"response_code":200} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.133707613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/producers","method":"POST","req_id":"406720a8-7ea5-4f81-8947-0a1ceff4e5d8","remote_addr":"127.0.0.1:55475","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.133769764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/producers","method":"POST","req_id":"406720a8-7ea5-4f81-8947-0a1ceff4e5d8","remote_addr":"127.0.0.1:55475","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.134026204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.136838568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.136905278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.136937588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.137155979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.13820407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"406720a8-7ea5-4f81-8947-0a1ceff4e5d8","remote_addr":"127.0.0.1:55475","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.13827012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"406720a8-7ea5-4f81-8947-0a1ceff4e5d8","remote_addr":"127.0.0.1:55475","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.138617681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"406720a8-7ea5-4f81-8947-0a1ceff4e5d8","remote_addr":"127.0.0.1:55475","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"assigned collector to new producer","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.145447661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","producer_id":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.145557952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/producers","method":"POST","req_id":"406720a8-7ea5-4f81-8947-0a1ceff4e5d8","remote_addr":"127.0.0.1:55475","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":11860,"response_code":201} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.145891312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/producers\", status: 201, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"406720a8-7ea5-4f81-8947-0a1ceff4e5d8\", \"content-length\": \"41\", \"date\": \"Wed, 10 Jun 2026 21:34:51 GMT\"} })"} {"msg":"successfully registered with Nexus, pausing until time to renew lease","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.145989902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","wait_period":"150s","lease_duration":"600s"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.23607464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.23615695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.23619233Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.23622556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.236678661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.24237575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.244220172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.244308543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.244343463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.244516593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.279641807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools","method":"POST","req_id":"735ac581-d806-4e1d-b833-fbaea48eed24","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":1059010,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.279981377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","status":"201"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.280441258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:55822/v1/system/ip-pools/default-v4/ranges/add","method":"POST"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.280629348Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.280696588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060800.0.0"} {"msg":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.281250359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"looking up silo for user","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.281281899Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","silo_user_id":"001de000-05e4-4000-8000-000000004007"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.281306319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.281335059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.28185765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.284466424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.284555504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.284958445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.287298038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.287362578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.287387888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.287410138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.287822249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.289876322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.289928482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.289950842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.290237663Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.291890845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.293953778Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.294016139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.294053689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.294221079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.295904911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.295958352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.295983652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.296006542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.296282442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.298129285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.298184525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.298208795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.298442245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.299893058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.301985271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authn result: Ok(Context { kind: Authenticated(Details { actor: Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }, device_token_expiration: None, credential_id: None }, Some(SiloAuthnPolicy { mapped_fleet_roles: {} })), schemes_tried: [Spoof] })","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.302051331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.302090221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.302124461Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.302188031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.302219921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.302341971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.30816475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.309612112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.309680613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.309710593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.309899533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.312792997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.312847287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.313391788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.316103692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: f03aca76-9c2e-43c8-b2aa-ebad2797be36, lookup_type: ByName(\"default-v4\") }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.316167162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.316206763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.316240333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.316538333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.321861231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.325209756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: f03aca76-9c2e-43c8-b2aa-ebad2797be36, lookup_type: ByName(\"default-v4\") }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.325259966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.325317596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.325601247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.361068751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.361156311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.364406716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.365642178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: f03aca76-9c2e-43c8-b2aa-ebad2797be36, lookup_type: ByName(\"default-v4\") }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.365819878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.365894878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.365929369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.3666517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.372975819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.374979552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: f03aca76-9c2e-43c8-b2aa-ebad2797be36, lookup_type: ByName(\"default-v4\") }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.383102445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.383171435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.383210075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.383239865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.383700876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.38675381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.388310533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.388366213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.388400433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.388553273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.391524888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"324630eb-8c1d-465c-b82c-62bbacdc2fcd","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":110879,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.391822278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","status":"201"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.392104339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:55822/v1/system/ip-pools/default-v4/silos","method":"POST"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.392282659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.392313979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060800.0.0"} {"msg":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.39282674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"looking up silo for user","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.39285949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","silo_user_id":"001de000-05e4-4000-8000-000000004007"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.39288589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.39292329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.39332856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.395579784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.395612744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.395844554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.397420517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.397454237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.397494287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.397515797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.397766067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.39950537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.39953707Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.3995608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.400061731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.402676015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.405459819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.405532169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.405592059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.405771879Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.408028353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.408069823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.408092353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.408112343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.408490704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.410187236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.410238376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.410267606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.411245338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.413131371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.417749888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authn result: Ok(Context { kind: Authenticated(Details { actor: Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }, device_token_expiration: None, credential_id: None }, Some(SiloAuthnPolicy { mapped_fleet_roles: {} })), schemes_tried: [Spoof] })","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.417816568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.417846038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.417877548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.417911528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.418191218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.418257549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.428549334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.430188767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.430242197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.430277187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.430490717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.434058503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.434120033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.434557403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.437350598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: f03aca76-9c2e-43c8-b2aa-ebad2797be36, lookup_type: ByName(\"default-v4\") }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.437486328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.437593788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.437630228Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.438133839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.441698504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.444952619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: f03aca76-9c2e-43c8-b2aa-ebad2797be36, lookup_type: ByName(\"default-v4\") }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.445021719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.445052869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.44528164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.447544483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.447594073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.449147336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.454131523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.454203793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.454239284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.454269254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.454654374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.457871739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.457933469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.457963799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.45846254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.461707375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.463551218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.463610768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.463643738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.463674958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.463707738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.463831678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.466419692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.471142999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.47123336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.47126569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.4715172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.510250169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.510326269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.510360719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.510410729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.51080834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.513446984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.515092837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.515158817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.515191937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.515461037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.518724002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"3e67aa7c-9633-4520-8ae1-2917214b8e20","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":126447,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.518966002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","status":"201"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.519299653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:55822/v1/system/ip-pools","method":"POST"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.519578013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.519609303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060800.0.0"} {"msg":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.519744124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"looking up silo for user","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.519819504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","silo_user_id":"001de000-05e4-4000-8000-000000004007"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.519869274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.519893434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.520609505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.522832718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.522886618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.523238089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.524805531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.524849431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.524874382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.524895582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.525154562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.527453225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.527534356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.527559496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.527820056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.529956809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.532660503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.532699383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.532723924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.532743004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.548574698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.548616268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.548638338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.548657858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.549119129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.551434352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.551460692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.551481312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.551817493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.553927146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.556060779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authn result: Ok(Context { kind: Authenticated(Details { actor: Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }, device_token_expiration: None, credential_id: None }, Some(SiloAuthnPolicy { mapped_fleet_roles: {} })), schemes_tried: [Spoof] })","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.556108489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.556138889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.556166779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.556195719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.556223839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.55641005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.560518966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.562763519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.56282372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.56285291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.56315168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.566444505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.566504565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.566536775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.566563625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.566973606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.56992197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.573431606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.573500846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.573545936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.576845251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.580512607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.580556357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.580617437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.580649737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.580737607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.583247131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.585233424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.585282444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.585313574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.585731995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.589623061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools","method":"POST","req_id":"b9887beb-ae37-46ec-a3b3-ccea2ccbae6e","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":70067,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.590179521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","status":"201"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.590441542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:55822/v1/system/ip-pools/default-v6/ranges/add","method":"POST"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.590595522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.590629432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060800.0.0"} {"msg":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.590907452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"looking up silo for user","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.590936843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","silo_user_id":"001de000-05e4-4000-8000-000000004007"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.590961563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.590984993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.591744314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.594099697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.594167737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.594622138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.596799941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.596855962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.596878922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.596898592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.597456472Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.600526397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.600588957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.600612127Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.601028988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.605432615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.607879768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.608068969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.608096569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.608439709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.614272908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.614329718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.614355618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.614377278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.614732349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.616826862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.616855982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.616880372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.617315333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.619830237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.62209506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authn result: Ok(Context { kind: Authenticated(Details { actor: Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }, device_token_expiration: None, credential_id: None }, Some(SiloAuthnPolicy { mapped_fleet_roles: {} })), schemes_tried: [Spoof] })","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.62223727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.62227021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.6223023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.622332331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.622359051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.622659481Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.625477325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.627220258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.627299148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.627331908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.627479788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.631239884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.631315134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.631710685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.633944538Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: 74daaec8-3737-456c-ac7c-adec84df5c4f, lookup_type: ByName(\"default-v6\") }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.634013358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.634052418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.634094369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.634717699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.641043169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.644371494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: 74daaec8-3737-456c-ac7c-adec84df5c4f, lookup_type: ByName(\"default-v6\") }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.644415914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.644444784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.644761465Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.647196489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.647250739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.647649429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.648939651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: 74daaec8-3737-456c-ac7c-adec84df5c4f, lookup_type: ByName(\"default-v6\") }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.648991831Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.649024001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.649055271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.649477482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.652910647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.65450701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: 74daaec8-3737-456c-ac7c-adec84df5c4f, lookup_type: ByName(\"default-v6\") }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.666493968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.666577708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.666623278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.666652818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.667114179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.670437494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.673402979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.673480829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.673512169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.673660879Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.676762324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"9f52090b-d82d-434b-9b62-15ce414293bc","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":85874,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.676834684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","status":"201"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.676997554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:55822/v1/system/ip-pools/default-v6/silos","method":"POST"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.677222574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.677256624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060800.0.0"} {"msg":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.677431325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"looking up silo for user","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.677460765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","silo_user_id":"001de000-05e4-4000-8000-000000004007"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.677485435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.677528055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.677800095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.680501459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.68054389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.68104186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.683749904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.683854445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.683887615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.683908695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.684694806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.689921444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.690650875Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.690868695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.695526872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.698262787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.701400331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.701450801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.701472052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.701722172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.704937927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.704989477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.705014997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.705039947Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.706178199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.708996743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.709092373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.709136523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.709729784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.712211708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.715179242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authn result: Ok(Context { kind: Authenticated(Details { actor: Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }, device_token_expiration: None, credential_id: None }, Some(SiloAuthnPolicy { mapped_fleet_roles: {} })), schemes_tried: [Spoof] })","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.715239493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.715273153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.715331363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.715364973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.715598883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.715631693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.721141402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.724165576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.724225316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.724257826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.727504741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.730508436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.730571366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.730941467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.733830771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: 74daaec8-3737-456c-ac7c-adec84df5c4f, lookup_type: ByName(\"default-v6\") }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.733904641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.733941581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.733971711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.734073361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.737640017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.740549561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: 74daaec8-3737-456c-ac7c-adec84df5c4f, lookup_type: ByName(\"default-v6\") }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.740649751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.740686861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.741501873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.743950496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.744014627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.745330549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.750356206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.750414716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.750450256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.750477006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.750871877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.756405785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.756881825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.756919685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.757413636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.762299264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.764434477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.764497227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.764525497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.764554667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.764583217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.764668077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.767871012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.771766348Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPoolList","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.771936418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.771980798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.772088049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.783359356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.783409366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.783439736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.783467236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.784351387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.788313083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":3,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.788374044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.788400284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.788424194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.788446364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.788876294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.790096776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.79246622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.79253094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.79257047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.792945911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.795956335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.806070341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.806133941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.806168391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.806410051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.807754523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"c357dd52-b4a8-46de-ab28-91c97578e06f","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":130533,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.808091114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","status":"201"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.808255804Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:55822/v1/projects","method":"POST"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.809216105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.809270225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060800.0.0"} {"msg":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.81237455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"looking up silo for user","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.812628921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","silo_user_id":"001de000-05e4-4000-8000-000000004007"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.812686471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.812713591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.813125831Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"reconfigurator config load complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.814686094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","switches":"Loaded(ReconfiguratorConfigView { version: 1, config: ReconfiguratorConfig { planner_enabled: false, planner_config: PlannerConfig, tuf_repo_pruner_enabled: true }, time_modified: 2026-06-10T21:34:41.697639Z })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.814742264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"config_updated\":false}","iteration":3,"elapsed":"26.433421ms"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.816325376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.816360226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.817449848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.822347015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.822501896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.822530446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.822552236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.823241397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.827900404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.827995314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.828568495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.829325046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.833632973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.838990241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.839060021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.839082651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.839706682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.841851505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.841906025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.841962815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.842086696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.842283196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.845052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.84511222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.84513663Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.845444451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.848615166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.850792989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authn result: Ok(Context { kind: Authenticated(Details { actor: Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }, device_token_expiration: None, credential_id: None }, Some(SiloAuthnPolicy { mapped_fleet_roles: {} })), schemes_tried: [Spoof] })","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.850856259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.850887299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.850921329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.850951929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.850979249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.85118574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.855160576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.857588839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.857667089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.85769759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.861058665Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.863791839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.863850779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.863884429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.863911239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.865157441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.869739058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.869817938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.869851448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.87116553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.873909674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.882173957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.882962628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.883067598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.883470249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"project-create","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":21,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[3,4,null],[4,5,null],[5,6,null],[6,7,null],[7,8,null],[8,9,null],[9,10,null],[10,11,null],[11,12,null],[12,13,null],[13,14,null],[14,15,null],[15,16,null],[16,17,null],[17,18,null],[2,3,null],[18,19,null],[20,0,null],[19,21,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"project_create.project_create_record\",\"label\":\"ProjectCreateRecord\",\"name\":\"project\"}},{\"Action\":{\"action_name\":\"project_create.project_create_vpc_params\",\"label\":\"ProjectCreateVpcParams\",\"name\":\"vpc_create_params\"}},{\"SubsagaStart\":{\"params_node_name\":\"vpc_create_params\",\"saga_name\":\"vpc-create\"}},{\"Action\":{\"action_name\":\"common.uuid_generate\",\"label\":\"GenerateVpcId\",\"name\":\"vpc_id\"}},{\"Action\":{\"action_name\":\"common.uuid_generate\",\"label\":\"GenerateSystemRouterId\",\"name\":\"system_router_id\"}},{\"Action\":{\"action_name\":\"common.uuid_generate\",\"label\":\"GenerateDefaultV4RouteId\",\"name\":\"default_v4_route_id\"}},{\"Action\":{\"action_name\":\"common.uuid_generate\",\"label\":\"GenerateDefaultV6RouteId\",\"name\":\"default_v6_route_id\"}},{\"Action\":{\"action_name\":\"common.uuid_generate\",\"label\":\"GenerateSubnetRouteId\",\"name\":\"subnet_route_id\"}},{\"Action\":{\"action_name\":\"common.uuid_generate\",\"label\":\"GenerateDefaultSubnetId\",\"name\":\"default_subnet_id\"}},{\"Action\":{\"action_name\":\"common.uuid_generate\",\"label\":\"GenerateDefaultInternetGatewayId\",\"name\":\"default_internet_gateway_id\"}},{\"Action\":{\"action_name\":\"vpc_create.vpc_create_vpc\",\"label\":\"VpcCreateVpc\",\"name\":\"vpc\"}},{\"Action\":{\"action_name\":\"vpc_create.vpc_create_router\",\"label\":\"VpcCreateRouter\",\"name\":\"router\"}},{\"Action\":{\"action_name\":\"vpc_create.vpc_create_v4_route\",\"label\":\"VpcCreateV4Route\",\"name\":\"route4\"}},{\"Action\":{\"action_name\":\"vpc_create.vpc_create_v6_route\",\"label\":\"VpcCreateV6Route\",\"name\":\"route6\"}},{\"Action\":{\"action_name\":\"vpc_create.vpc_create_subnet\",\"label\":\"VpcCreateSubnet\",\"name\":\"subnet\"}},{\"Action\":{\"action_name\":\"vpc_create.vpc_create_subnet_route\",\"label\":\"VpcCreateSubnetRoute\",\"name\":\"route\"}},{\"Action\":{\"action_name\":\"vpc_create.vpc_update_firewall\",\"label\":\"VpcUpdateFirewall\",\"name\":\"firewall\"}},{\"Action\":{\"action_name\":\"vpc_create.vpc_create_gateway\",\"label\":\"VpcCreateGateway\",\"name\":\"gateway\"}},{\"Action\":{\"action_name\":\"vpc_create.vpc_notify_sleds\",\"label\":\"VpcNotifySleds\",\"name\":\"no_result\"}},{\"SubsagaEnd\":{\"name\":\"vpc\"}},{\"Start\":{\"params\":{\"authz_silo\":{\"key\":\"001de000-5110-4000-8000-000000000000\",\"lookup_type\":{\"ById\":\"001de000-5110-4000-8000-000000000000\"},\"parent\":null},\"project_create\":{\"description\":\"a pier\",\"name\":\"test-project\"},\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"project-create\",\"start_node\":20}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.883808509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"project-create","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.921909808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:51.922401578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"project-create","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.922512779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.922536259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"20","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.950210951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.950265171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"20","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.952848485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.952903165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.956466151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ProjectCreateRecord","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.956535851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ProjectCreateRecord","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.956568671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ProjectCreateRecord","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.956597321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ProjectCreateRecord","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.957028911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ProjectCreateRecord","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.959638595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ProjectCreateRecord","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.959700085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ProjectCreateRecord","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.959773386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ProjectCreateRecord","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.962139119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ProjectCreateRecord","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.965234354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ProjectCreateRecord","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.969983681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ProjectCreateRecord","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:51.970025301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ProjectCreateRecord","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.970063781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ProjectCreateRecord","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.970309562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ProjectCreateRecord","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.984375403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.984432963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}, Object {\"identity\": Object {\"description\": String(\"a pier\"), \"id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"name\": String(\"test-project\"), \"time_created\": String(\"2026-06-10T21:34:51.956403Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:51.956403Z\")}, \"rcgen\": Number(1), \"silo_id\": String(\"001de000-5110-4000-8000-000000000000\")}])","node_id":"0","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.987440338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.987516088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.990377652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.990430162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"authz_project\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}, \"serialized_authn\": Object {\"kind\": Object {\"Authenticated\": Array [Object {\"actor\": Object {\"SiloUser\": Object {\"silo_id\": String(\"001de000-5110-4000-8000-000000000000\"), \"silo_user_id\": String(\"001de000-05e4-4000-8000-000000004007\")}}, \"credential_id\": Null, \"device_token_expiration\": Null}, Object {\"mapped_fleet_roles\": Object {}}]}}, \"vpc_create\": Object {\"description\": String(\"Default VPC\"), \"dns_name\": String(\"default\"), \"ipv6_prefix\": String(\"fdbf:e912:f6d3::/48\"), \"name\": String(\"default\")}})","node_id":"1","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.993401907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.993452957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.995986211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.996021921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"2","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.998877255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:51.998937155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.00222787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.002282201Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"))","node_id":"3","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.005352735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.005408625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.007770459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.007821499Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\"))","node_id":"4","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.013842708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.013880808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.017557844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.017989345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"2b4b5345-6464-4cce-9f5a-91e8c2127c03\"))","node_id":"5","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.024609605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.024639195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.027091898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.027135369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"92df8293-72d2-4829-a99c-46dfc0484dc9\"))","node_id":"6","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.03437667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.03441983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.036857713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.036906573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"51117e0e-fe34-4d26-aae3-7c8b2c7c918b\"))","node_id":"7","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.042052001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.042106261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.050301054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.050336884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"bda8f46e-e360-4dad-90aa-448739d63312\"))","node_id":"8","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.054680921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.054733901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.058381346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.058432526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"70896d62-0cf5-462e-9237-181c5c1a02e5\"))","node_id":"9","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.06097668Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.06102672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.063769705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.063836195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.063867645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.063896745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.065302657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.072207777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.072276238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.072305558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.072863528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.076235944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.076304634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.076333574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.076694834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.08022928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.085469318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.085536808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.085565008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.086431839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateVpc","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.09327878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.09332396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [Object {\"key\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}}, Object {\"dns_name\": String(\"default\"), \"firewall_gen\": Number(1), \"identity\": Object {\"description\": String(\"Default VPC\"), \"id\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"name\": String(\"default\"), \"time_created\": String(\"2026-06-10T21:34:52.063682Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:52.063682Z\")}, \"ipv6_prefix\": String(\"fdbf:e912:f6d3::/48\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"subnet_gen\": Number(1), \"system_router_id\": String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\"), \"vni\": Number(7632503)}])","node_id":"10","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.096310124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.096362064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.099500339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.099577849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.099608329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.099635869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.10005405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.103472955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.103535235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.103565545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.104176356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.112329289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.114528482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.114592192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.115544724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.120412231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.132063029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.132193119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.132260809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.135457384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateRouter","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.136928136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:565","component":"oximeter"} {"msg":"batch interval expired, but no samples to insert","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.137236917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"batch interval expired, but no samples to insert","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.137264127Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.137637947Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.137979658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a8631560-669c-48da-81b9-b9ecf3ea3522","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.138059968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a8631560-669c-48da-81b9-b9ecf3ea3522","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.138326039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a8631560-669c-48da-81b9-b9ecf3ea3522","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.138404559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a8631560-669c-48da-81b9-b9ecf3ea3522","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.13910431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a8631560-669c-48da-81b9-b9ecf3ea3522","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.143949097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a8631560-669c-48da-81b9-b9ecf3ea3522","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":5959,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.147251422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a8631560-669c-48da-81b9-b9ecf3ea3522\", \"content-length\": \"405\", \"date\": \"Wed, 10 Jun 2026 21:34:52 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.148970965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.149544276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"90e2ebb8-98d7-4ab3-9df3-597570e6f3d0","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.149585746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"90e2ebb8-98d7-4ab3-9df3-597570e6f3d0","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.150144707Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"90e2ebb8-98d7-4ab3-9df3-597570e6f3d0","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.150256417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"90e2ebb8-98d7-4ab3-9df3-597570e6f3d0","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.153363802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"90e2ebb8-98d7-4ab3-9df3-597570e6f3d0","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.158480249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"90e2ebb8-98d7-4ab3-9df3-597570e6f3d0","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":9061,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.15914052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"90e2ebb8-98d7-4ab3-9df3-597570e6f3d0\", \"content-length\": \"29\", \"date\": \"Wed, 10 Jun 2026 21:34:52 GMT\"} })"} {"msg":"registered new metric producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.159281411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","address":"127.0.0.1:36260","producer_id":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"registered new metric producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.159409521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","address":"[::1]:51542","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de"} {"msg":"refreshed list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.159452421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:640","component":"oximeter","n_current_tasks":2,"n_pruned_tasks":0} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.207822475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.255729638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.256188569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.256231629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"key\": String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\"), \"lookup_type\": Object {\"ById\": String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\")}, \"parent\": Object {\"key\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}}})","node_id":"11","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"reporting oximeter self-collection statistics","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.257878921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.258544152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"reporting oximeter self-collection statistics","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.258594922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.258891113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.259286943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.261976768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.262472478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"127.0.0.1:36260","component":"dropshot","file":"/home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dropshot-0.17.0/src/server.rs:1057","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:38338"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.26383949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/913233fe-92a8-4635-9572-183f495429c4","method":"GET","req_id":"8271ce70-f287-4814-a62a-08c513ed969d","remote_addr":"127.0.0.1:38338","local_addr":"127.0.0.1:36260","component":"dropshot","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.271240212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/913233fe-92a8-4635-9572-183f495429c4","method":"GET","req_id":"8271ce70-f287-4814-a62a-08c513ed969d","remote_addr":"127.0.0.1:38338","local_addr":"127.0.0.1:36260","component":"dropshot","file":"/home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dropshot-0.17.0/src/server.rs:874","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":7409,"response_code":200} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.271531192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.271560382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.273560775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.273657995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.274380067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.274424627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.274446137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.289175269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":24,"n_results":5} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.289240269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.289260889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.28954052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":27} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.28959258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":27} {"msg":"unrolling 27 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.28972347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.296741031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.296793381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('collection_target:cpus_provisioned', 'collection_target:ram_provisioned', 'collection_target:virtual_disk_space_provisioned', 'http_service:request_latency_histogram', 'integration_target:integration_metric', 'oximeter_collector:collections') FORMAT Native"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.297164631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }, key: bc9bc2c4-5463-4a24-8985-95e5fd9839fe, lookup_type: ById(bc9bc2c4-5463-4a24-8985-95e5fd9839fe) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.297211781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.297242372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.297269112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.297677512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"new timeseries schema","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.301709598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","schema":"TimeseriesSchema { timeseries_name: TimeseriesName(\"collection_target:cpus_provisioned\"), description: TimeseriesDescription { target: \"\", metric: \"\" }, field_schema: {FieldSchema { name: \"id\", field_type: Uuid, source: Target, description: \"\" }}, datum_type: I64, version: 1, authz_scope: Fleet, units: Count, created: 2026-06-10T21:34:52.293247125Z }","timeseries_name":"collection_target:cpus_provisioned"} {"msg":"new timeseries schema","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.301767288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","schema":"TimeseriesSchema { timeseries_name: TimeseriesName(\"collection_target:ram_provisioned\"), description: TimeseriesDescription { target: \"\", metric: \"\" }, field_schema: {FieldSchema { name: \"id\", field_type: Uuid, source: Target, description: \"\" }}, datum_type: I64, version: 1, authz_scope: Fleet, units: Count, created: 2026-06-10T21:34:52.293634826Z }","timeseries_name":"collection_target:ram_provisioned"} {"msg":"new timeseries schema","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.301794628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","schema":"TimeseriesSchema { timeseries_name: TimeseriesName(\"collection_target:virtual_disk_space_provisioned\"), description: TimeseriesDescription { target: \"\", metric: \"\" }, field_schema: {FieldSchema { name: \"id\", field_type: Uuid, source: Target, description: \"\" }}, datum_type: I64, version: 1, authz_scope: Fleet, units: Count, created: 2026-06-10T21:34:52.294022427Z }","timeseries_name":"collection_target:virtual_disk_space_provisioned"} {"msg":"new timeseries schema","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.301820489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","schema":"TimeseriesSchema { timeseries_name: TimeseriesName(\"http_service:request_latency_histogram\"), description: TimeseriesDescription { target: \"\", metric: \"\" }, field_schema: {FieldSchema { name: \"id\", field_type: Uuid, source: Target, description: \"\" }, FieldSchema { name: \"name\", field_type: String, source: Target, description: \"\" }, FieldSchema { name: \"operation_id\", field_type: String, source: Metric, description: \"\" }, FieldSchema { name: \"status_code\", field_type: U16, source: Metric, description: \"\" }}, datum_type: HistogramU64, version: 1, authz_scope: Fleet, units: Count, created: 2026-06-10T21:34:52.291291882Z }","timeseries_name":"http_service:request_latency_histogram"} {"msg":"new timeseries schema","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.301854479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","schema":"TimeseriesSchema { timeseries_name: TimeseriesName(\"integration_target:integration_metric\"), description: TimeseriesDescription { target: \"\", metric: \"\" }, field_schema: {FieldSchema { name: \"metric_name\", field_type: String, source: Metric, description: \"\" }, FieldSchema { name: \"target_name\", field_type: String, source: Target, description: \"\" }}, datum_type: I64, version: 1, authz_scope: Fleet, units: Count, created: 2026-06-10T21:34:52.290838382Z }","timeseries_name":"integration_target:integration_metric"} {"msg":"new timeseries schema","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.301883489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","schema":"TimeseriesSchema { timeseries_name: TimeseriesName(\"oximeter_collector:collections\"), description: TimeseriesDescription { target: \"\", metric: \"\" }, field_schema: {FieldSchema { name: \"base_route\", field_type: String, source: Metric, description: \"\" }, FieldSchema { name: \"collector_id\", field_type: Uuid, source: Target, description: \"\" }, FieldSchema { name: \"collector_ip\", field_type: IpAddr, source: Target, description: \"\" }, FieldSchema { name: \"collector_port\", field_type: U16, source: Target, description: \"\" }, FieldSchema { name: \"producer_id\", field_type: Uuid, source: Metric, description: \"\" }, FieldSchema { name: \"producer_ip\", field_type: IpAddr, source: Metric, description: \"\" }, FieldSchema { name: \"producer_port\", field_type: U16, source: Metric, description: \"\" }}, datum_type: CumulativeU64, version: 1, authz_scope: Fleet, units: Count, created: 2026-06-10T21:34:52.290234881Z }","timeseries_name":"oximeter_collector:collections"} {"msg":"inserting 6 new timeseries schema","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.306373265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.306757706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":6,"n_rows":6,"sql":"INSERT INTO oximeter.timeseries_schema FORMAT Native"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.308918299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.308967289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.308996749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.30946537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.310390002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":4,"sql":"INSERT INTO oximeter.fields_ipaddr FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.312968006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_ipaddr","n_rows":4} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.313015546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":22,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.313038126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.313071446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.313096536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.313386556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.3160085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":22} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.31604626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":13,"sql":"INSERT INTO oximeter.fields_u16 FORMAT Native"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.316812761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.324725364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }, key: bc9bc2c4-5463-4a24-8985-95e5fd9839fe, lookup_type: ById(bc9bc2c4-5463-4a24-8985-95e5fd9839fe) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.324804274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.324832504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.325169014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV4Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.326370066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_u16","n_rows":13} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.326405456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":28,"sql":"INSERT INTO oximeter.fields_uuid FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.32887459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_uuid","n_rows":28} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.32891459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":5,"n_rows":2,"sql":"INSERT INTO oximeter.measurements_cumulativeu64 FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.331530554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_cumulativeu64","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.331577524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":19,"n_rows":9,"sql":"INSERT INTO oximeter.measurements_histogramu64 FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.33575363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_histogramu64","n_rows":9} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.33580018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":16,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.341322039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":16} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.341374879Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.367268399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.367311139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.371586035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.371636595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.375285791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }, key: bc9bc2c4-5463-4a24-8985-95e5fd9839fe, lookup_type: ById(bc9bc2c4-5463-4a24-8985-95e5fd9839fe) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.375401421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.375462691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.375489701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.375914132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.379265037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.379335337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.379386637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.379561297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.383712654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.383774764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.383804474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.384427385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.388167271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.394776721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }, key: bc9bc2c4-5463-4a24-8985-95e5fd9839fe, lookup_type: ById(bc9bc2c4-5463-4a24-8985-95e5fd9839fe) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.394867241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.394924701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.395056591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateV6Route","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:52.395950532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.399248437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.399273858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.401625291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.401669361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.406513209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnet","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.406580809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnet","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.406610469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnet","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.406636679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnet","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.40728693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnet","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.412445618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnet","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.412510318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnet","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.412539628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnet","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.412970088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnet","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.417306515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnet","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.417352985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnet","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.417380125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnet","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.417948136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnet","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.421270091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnet","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.428805493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnet","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.432947399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.432980739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [Object {\"key\": String(\"bda8f46e-e360-4dad-90aa-448739d63312\"), \"lookup_type\": Object {\"ById\": String(\"bda8f46e-e360-4dad-90aa-448739d63312\")}, \"parent\": Object {\"key\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}}}, Object {\"custom_router_id\": Null, \"identity\": Object {\"description\": String(\"The default subnet for default\"), \"id\": String(\"bda8f46e-e360-4dad-90aa-448739d63312\"), \"name\": String(\"default\"), \"time_created\": String(\"2026-06-10T21:34:52.406462Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:52.406462Z\")}, \"ipv4_block\": String(\"172.30.0.0/22\"), \"ipv6_block\": String(\"fdbf:e912:f6d3::/64\"), \"rcgen\": Number(1), \"vpc_id\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\")}])","node_id":"14","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.436026264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.436080124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.441443132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }, key: bc9bc2c4-5463-4a24-8985-95e5fd9839fe, lookup_type: ById(bc9bc2c4-5463-4a24-8985-95e5fd9839fe) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.441521122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.441551272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.441578582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.441898013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.44672545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.447272471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.447353051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.447824252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.450980047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.451035837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.451065757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.452167988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.454964223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.460840202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }, key: bc9bc2c4-5463-4a24-8985-95e5fd9839fe, lookup_type: ById(bc9bc2c4-5463-4a24-8985-95e5fd9839fe) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.460955402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.460987762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.461313812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateSubnetRoute","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.465894839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.465989549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"key\": String(\"51117e0e-fe34-4d26-aae3-7c8b2c7c918b\"), \"lookup_type\": Object {\"ById\": String(\"bda8f46e-e360-4dad-90aa-448739d63312\")}, \"parent\": Object {\"key\": String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\"), \"lookup_type\": Object {\"ById\": String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\")}, \"parent\": Object {\"key\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}}}})","node_id":"15","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.468395873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.468482913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"default firewall rules for vpc default","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.470735467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","rules":"[VpcFirewallRule { identity: VpcFirewallRuleIdentity { id: f7bd8428-741b-420c-8290-f1e662e11cf9, name: Name(Name(\"allow-internal-inbound\")), description: \"allow inbound traffic to all instances within the VPC if originated within the VPC\", time_created: 2026-06-10T21:34:52.470579Z, time_modified: 2026-06-10T21:34:52.470579Z, time_deleted: None }, vpc_id: a610ecce-68b9-4289-be6f-a2ed8db852d9, status: VpcFirewallRuleStatus(Enabled), direction: VpcFirewallRuleDirection(Inbound), targets: [VpcFirewallRuleTarget(Vpc(Name(\"default\")))], filter_hosts: Some([VpcFirewallRuleHostFilter(Vpc(Name(\"default\")))]), filter_ports: None, filter_protocols: None, action: VpcFirewallRuleAction(Allow), priority: VpcFirewallRulePriority(VpcFirewallRulePriority(65534)) }, VpcFirewallRule { identity: VpcFirewallRuleIdentity { id: b2d21690-d9e5-445e-8143-22d246fb873d, name: Name(Name(\"allow-ssh\")), description: \"allow inbound TCP connections on port 22 from anywhere\", time_created: 2026-06-10T21:34:52.470602Z, time_modified: 2026-06-10T21:34:52.470602Z, time_deleted: None }, vpc_id: a610ecce-68b9-4289-be6f-a2ed8db852d9, status: VpcFirewallRuleStatus(Enabled), direction: VpcFirewallRuleDirection(Inbound), targets: [VpcFirewallRuleTarget(Vpc(Name(\"default\")))], filter_hosts: None, filter_ports: Some([L4PortRange(L4PortRange { first: L4Port(22), last: L4Port(22) })]), filter_protocols: Some([VpcFirewallRuleProtocol(Tcp)]), action: VpcFirewallRuleAction(Allow), priority: VpcFirewallRulePriority(VpcFirewallRulePriority(65534)) }, VpcFirewallRule { identity: VpcFirewallRuleIdentity { id: 3455b9d3-f09a-4be5-a892-3f38f74bf1c3, name: Name(Name(\"allow-icmp\")), description: \"allow inbound ICMP traffic from anywhere\", time_created: 2026-06-10T21:34:52.470611Z, time_modified: 2026-06-10T21:34:52.470611Z, time_deleted: None }, vpc_id: a610ecce-68b9-4289-be6f-a2ed8db852d9, status: VpcFirewallRuleStatus(Enabled), direction: VpcFirewallRuleDirection(Inbound), targets: [VpcFirewallRuleTarget(Vpc(Name(\"default\")))], filter_hosts: None, filter_ports: None, filter_protocols: Some([VpcFirewallRuleProtocol(Icmp(None))]), action: VpcFirewallRuleAction(Allow), priority: VpcFirewallRulePriority(VpcFirewallRulePriority(65534)) }]"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.470832067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.470886877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.470934227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.470962737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.471255808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.474211092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.474276122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.474308052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.474751053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.477415117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.477490257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.477523137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.477803288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.480946122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.484905508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.485022949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.485053409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.485229649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcUpdateFirewall","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.547825495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.547885825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [Object {\"action\": String(\"allow\"), \"direction\": String(\"inbound\"), \"filter_hosts\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"filter_ports\": Null, \"filter_protocols\": Null, \"identity\": Object {\"description\": String(\"allow inbound traffic to all instances within the VPC if originated within the VPC\"), \"id\": String(\"f7bd8428-741b-420c-8290-f1e662e11cf9\"), \"name\": String(\"allow-internal-inbound\"), \"time_created\": String(\"2026-06-10T21:34:52.470579Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:52.470579Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\")}, Object {\"action\": String(\"allow\"), \"direction\": String(\"inbound\"), \"filter_hosts\": Null, \"filter_ports\": Array [String(\"22\")], \"filter_protocols\": Array [Object {\"type\": String(\"tcp\")}], \"identity\": Object {\"description\": String(\"allow inbound TCP connections on port 22 from anywhere\"), \"id\": String(\"b2d21690-d9e5-445e-8143-22d246fb873d\"), \"name\": String(\"allow-ssh\"), \"time_created\": String(\"2026-06-10T21:34:52.470602Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:52.470602Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\")}, Object {\"action\": String(\"allow\"), \"direction\": String(\"inbound\"), \"filter_hosts\": Null, \"filter_ports\": Null, \"filter_protocols\": Array [Object {\"type\": String(\"icmp\"), \"value\": Null}], \"identity\": Object {\"description\": String(\"allow inbound ICMP traffic from anywhere\"), \"id\": String(\"3455b9d3-f09a-4be5-a892-3f38f74bf1c3\"), \"name\": String(\"allow-icmp\"), \"time_created\": String(\"2026-06-10T21:34:52.470611Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:52.470611Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\")}])","node_id":"16","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.55105761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.55110868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.553496523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.553569203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.553600623Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.553627383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.553987904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.559073732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.559146342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.559174952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.559536843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.563395098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.563442318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.563469789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.564067969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.566784134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.571297241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.571392381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.571433361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.571741641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.575866147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.575948498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.576335018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.579621413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.579667003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.579861194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.653918497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"InternetGateway { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }, key: 70896d62-0cf5-462e-9237-181c5c1a02e5, lookup_type: ById(70896d62-0cf5-462e-9237-181c5c1a02e5) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.653985307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.654016447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.654043987Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.654421648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.656947511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.657037442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.657081642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.657401362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.660065486Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.660136726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.660165506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.660664557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.663893042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.6693951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"InternetGateway { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }, key: 70896d62-0cf5-462e-9237-181c5c1a02e5, lookup_type: ById(70896d62-0cf5-462e-9237-181c5c1a02e5) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.669470651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.669503671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.669887711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.676969552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"InternetGateway { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }, key: 70896d62-0cf5-462e-9237-181c5c1a02e5, lookup_type: ById(70896d62-0cf5-462e-9237-181c5c1a02e5) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.677058402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.677088082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.677120542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.677535123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.68220956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.68226482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.68229794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.682790191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.685309095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.685366165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.685394605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.685706475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.688054199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.694749139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"InternetGateway { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }, key: 70896d62-0cf5-462e-9237-181c5c1a02e5, lookup_type: ById(70896d62-0cf5-462e-9237-181c5c1a02e5) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.694845629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.694873439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.69509604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcCreateGateway","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.698880946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.698907196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"key\": String(\"70896d62-0cf5-462e-9237-181c5c1a02e5\"), \"lookup_type\": Object {\"ById\": String(\"70896d62-0cf5-462e-9237-181c5c1a02e5\")}, \"parent\": Object {\"key\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}}})","node_id":"17","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.701410999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.70146344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"18","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.704678634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.704728004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.705106635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.707426859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.707463989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.707966319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.712050016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.712233766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.712540996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.714439009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.714511299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.71454306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.71457065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.71493498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.718270345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.718412385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.718461755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.718860136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.721621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.72171396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.721745181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.722229731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.724622925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.729503712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.729578422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.729613303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.729641193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.729665633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.729832353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.732299417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.732336127Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.732360687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.732614957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.735126761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.735196251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.735227671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.735470041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.737480285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.742399122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.742452832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.742479592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.742702643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"resolved names for firewall rules","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.753208279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","subnet_networks":"{}","subnet_interfaces":"{}","vpc_interfaces":"{}","instance_interfaces":"{}"} {"msg":"resolved firewall rules for sled agents","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.753265129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","sled_agent_rules":"[]"} {"msg":"resolved 0 rules for sleds","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.753282989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"resolved sleds for vpc default","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.867452762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","vpc_to_sled":"[]"} {"msg":"sending firewall rules to sled agents","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.867502972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"updated firewall rules on 0 sleds","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.867520683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.867536223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.867573073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.867922603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"VpcNotifySleds","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.870563637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.870621027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"18","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.872902901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.872950791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"19","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.875011154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.875053164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"19","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.877349458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N021 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.877405468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"21","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.879502501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N021 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.879561681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"21","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.883420957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.883457157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.920476043Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"project-create","saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.920579244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.920832434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"931a19d9-592d-47ab-b45f-56b63cec6033","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 931a19d9-592d-47ab-b45f-56b63cec6033, saga_log: SagaLog { saga_id: 931a19d9-592d-47ab-b45f-56b63cec6033, unwinding: false, events: [N020 started, N020 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N006 started, N006 succeeded, N007 started, N007 succeeded, N008 started, N008 succeeded, N009 started, N009 succeeded, N010 started, N010 succeeded, N011 started, N011 succeeded, N012 started, N012 succeeded, N013 started, N013 succeeded, N014 started, N014 succeeded, N015 started, N015 succeeded, N016 started, N016 succeeded, N017 started, N017 succeeded, N018 started, N018 succeeded, N019 started, N019 succeeded, N021 started, N021 succeeded], node_status: {0: Succeeded(Array [Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}, Object {\"identity\": Object {\"description\": String(\"a pier\"), \"id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"name\": String(\"test-project\"), \"time_created\": String(\"2026-06-10T21:34:51.956403Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:51.956403Z\")}, \"rcgen\": Number(1), \"silo_id\": String(\"001de000-5110-4000-8000-000000000000\")}]), 1: Succeeded(Object {\"authz_project\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}, \"serialized_authn\": Object {\"kind\": Object {\"Authenticated\": Array [Object {\"actor\": Object {\"SiloUser\": Object {\"silo_id\": String(\"001de000-5110-4000-8000-000000000000\"), \"silo_user_id\": String(\"001de000-05e4-4000-8000-000000004007\")}}, \"credential_id\": Null, \"device_token_expiration\": Null}, Object {\"mapped_fleet_roles\": Object {}}]}}, \"vpc_create\": Object {\"description\": String(\"Default VPC\"), \"dns_name\": String(\"default\"), \"ipv6_prefix\": String(\"fdbf:e912:f6d3::/48\"), \"name\": String(\"default\")}}), 2: Succeeded(Null), 3: Succeeded(String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\")), 4: Succeeded(String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\")), 5: Succeeded(String(\"2b4b5345-6464-4cce-9f5a-91e8c2127c03\")), 6: Succeeded(String(\"92df8293-72d2-4829-a99c-46dfc0484dc9\")), 7: Succeeded(String(\"51117e0e-fe34-4d26-aae3-7c8b2c7c918b\")), 8: Succeeded(String(\"bda8f46e-e360-4dad-90aa-448739d63312\")), 9: Succeeded(String(\"70896d62-0cf5-462e-9237-181c5c1a02e5\")), 10: Succeeded(Array [Object {\"key\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}}, Object {\"dns_name\": String(\"default\"), \"firewall_gen\": Number(1), \"identity\": Object {\"description\": String(\"Default VPC\"), \"id\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"name\": String(\"default\"), \"time_created\": String(\"2026-06-10T21:34:52.063682Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:52.063682Z\")}, \"ipv6_prefix\": String(\"fdbf:e912:f6d3::/48\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"subnet_gen\": Number(1), \"system_router_id\": String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\"), \"vni\": Number(7632503)}]), 11: Succeeded(Object {\"key\": String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\"), \"lookup_type\": Object {\"ById\": String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\")}, \"parent\": Object {\"key\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}}}), 12: Succeeded(Null), 13: Succeeded(Null), 14: Succeeded(Array [Object {\"key\": String(\"bda8f46e-e360-4dad-90aa-448739d63312\"), \"lookup_type\": Object {\"ById\": String(\"bda8f46e-e360-4dad-90aa-448739d63312\")}, \"parent\": Object {\"key\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}}}, Object {\"custom_router_id\": Null, \"identity\": Object {\"description\": String(\"The default subnet for default\"), \"id\": String(\"bda8f46e-e360-4dad-90aa-448739d63312\"), \"name\": String(\"default\"), \"time_created\": String(\"2026-06-10T21:34:52.406462Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:52.406462Z\")}, \"ipv4_block\": String(\"172.30.0.0/22\"), \"ipv6_block\": String(\"fdbf:e912:f6d3::/64\"), \"rcgen\": Number(1), \"vpc_id\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\")}]), 15: Succeeded(Object {\"key\": String(\"51117e0e-fe34-4d26-aae3-7c8b2c7c918b\"), \"lookup_type\": Object {\"ById\": String(\"bda8f46e-e360-4dad-90aa-448739d63312\")}, \"parent\": Object {\"key\": String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\"), \"lookup_type\": Object {\"ById\": String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\")}, \"parent\": Object {\"key\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}}}}), 16: Succeeded(Array [Object {\"action\": String(\"allow\"), \"direction\": String(\"inbound\"), \"filter_hosts\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"filter_ports\": Null, \"filter_protocols\": Null, \"identity\": Object {\"description\": String(\"allow inbound traffic to all instances within the VPC if originated within the VPC\"), \"id\": String(\"f7bd8428-741b-420c-8290-f1e662e11cf9\"), \"name\": String(\"allow-internal-inbound\"), \"time_created\": String(\"2026-06-10T21:34:52.470579Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:52.470579Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\")}, Object {\"action\": String(\"allow\"), \"direction\": String(\"inbound\"), \"filter_hosts\": Null, \"filter_ports\": Array [String(\"22\")], \"filter_protocols\": Array [Object {\"type\": String(\"tcp\")}], \"identity\": Object {\"description\": String(\"allow inbound TCP connections on port 22 from anywhere\"), \"id\": String(\"b2d21690-d9e5-445e-8143-22d246fb873d\"), \"name\": String(\"allow-ssh\"), \"time_created\": String(\"2026-06-10T21:34:52.470602Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:52.470602Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\")}, Object {\"action\": String(\"allow\"), \"direction\": String(\"inbound\"), \"filter_hosts\": Null, \"filter_ports\": Null, \"filter_protocols\": Array [Object {\"type\": String(\"icmp\"), \"value\": Null}], \"identity\": Object {\"description\": String(\"allow inbound ICMP traffic from anywhere\"), \"id\": String(\"3455b9d3-f09a-4be5-a892-3f38f74bf1c3\"), \"name\": String(\"allow-icmp\"), \"time_created\": String(\"2026-06-10T21:34:52.470611Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:52.470611Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\")}]), 17: Succeeded(Object {\"key\": String(\"70896d62-0cf5-462e-9237-181c5c1a02e5\"), \"lookup_type\": Object {\"ById\": String(\"70896d62-0cf5-462e-9237-181c5c1a02e5\")}, \"parent\": Object {\"key\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}}}), 18: Succeeded(Null), 19: Succeeded(Null), 20: Succeeded(Null), 21: Succeeded(Null)} }, kind: Ok(SagaResultOk { saga_output: Null, node_outputs: {\"default_internet_gateway_id\": String(\"70896d62-0cf5-462e-9237-181c5c1a02e5\"), \"default_subnet_id\": String(\"bda8f46e-e360-4dad-90aa-448739d63312\"), \"default_v4_route_id\": String(\"2b4b5345-6464-4cce-9f5a-91e8c2127c03\"), \"default_v6_route_id\": String(\"92df8293-72d2-4829-a99c-46dfc0484dc9\"), \"firewall\": Array [Object {\"action\": String(\"allow\"), \"direction\": String(\"inbound\"), \"filter_hosts\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"filter_ports\": Null, \"filter_protocols\": Null, \"identity\": Object {\"description\": String(\"allow inbound traffic to all instances within the VPC if originated within the VPC\"), \"id\": String(\"f7bd8428-741b-420c-8290-f1e662e11cf9\"), \"name\": String(\"allow-internal-inbound\"), \"time_created\": String(\"2026-06-10T21:34:52.470579Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:52.470579Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\")}, Object {\"action\": String(\"allow\"), \"direction\": String(\"inbound\"), \"filter_hosts\": Null, \"filter_ports\": Array [String(\"22\")], \"filter_protocols\": Array [Object {\"type\": String(\"tcp\")}], \"identity\": Object {\"description\": String(\"allow inbound TCP connections on port 22 from anywhere\"), \"id\": String(\"b2d21690-d9e5-445e-8143-22d246fb873d\"), \"name\": String(\"allow-ssh\"), \"time_created\": String(\"2026-06-10T21:34:52.470602Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:52.470602Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\")}, Object {\"action\": String(\"allow\"), \"direction\": String(\"inbound\"), \"filter_hosts\": Null, \"filter_ports\": Null, \"filter_protocols\": Array [Object {\"type\": String(\"icmp\"), \"value\": Null}], \"identity\": Object {\"description\": String(\"allow inbound ICMP traffic from anywhere\"), \"id\": String(\"3455b9d3-f09a-4be5-a892-3f38f74bf1c3\"), \"name\": String(\"allow-icmp\"), \"time_created\": String(\"2026-06-10T21:34:52.470611Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:52.470611Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\")}], \"gateway\": Object {\"key\": String(\"70896d62-0cf5-462e-9237-181c5c1a02e5\"), \"lookup_type\": Object {\"ById\": String(\"70896d62-0cf5-462e-9237-181c5c1a02e5\")}, \"parent\": Object {\"key\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}}}, \"no_result\": Null, \"project\": Array [Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}, Object {\"identity\": Object {\"description\": String(\"a pier\"), \"id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"name\": String(\"test-project\"), \"time_created\": String(\"2026-06-10T21:34:51.956403Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:51.956403Z\")}, \"rcgen\": Number(1), \"silo_id\": String(\"001de000-5110-4000-8000-000000000000\")}], \"route\": Object {\"key\": String(\"51117e0e-fe34-4d26-aae3-7c8b2c7c918b\"), \"lookup_type\": Object {\"ById\": String(\"bda8f46e-e360-4dad-90aa-448739d63312\")}, \"parent\": Object {\"key\": String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\"), \"lookup_type\": Object {\"ById\": String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\")}, \"parent\": Object {\"key\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}}}}, \"route4\": Null, \"route6\": Null, \"router\": Object {\"key\": String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\"), \"lookup_type\": Object {\"ById\": String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\")}, \"parent\": Object {\"key\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}}}, \"subnet\": Array [Object {\"key\": String(\"bda8f46e-e360-4dad-90aa-448739d63312\"), \"lookup_type\": Object {\"ById\": String(\"bda8f46e-e360-4dad-90aa-448739d63312\")}, \"parent\": Object {\"key\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}}}, Object {\"custom_router_id\": Null, \"identity\": Object {\"description\": String(\"The default subnet for default\"), \"id\": String(\"bda8f46e-e360-4dad-90aa-448739d63312\"), \"name\": String(\"default\"), \"time_created\": String(\"2026-06-10T21:34:52.406462Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:52.406462Z\")}, \"ipv4_block\": String(\"172.30.0.0/22\"), \"ipv6_block\": String(\"fdbf:e912:f6d3::/64\"), \"rcgen\": Number(1), \"vpc_id\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\")}], \"subnet_route_id\": String(\"51117e0e-fe34-4d26-aae3-7c8b2c7c918b\"), \"system_router_id\": String(\"bc9bc2c4-5463-4a24-8985-95e5fd9839fe\"), \"vpc\": Null, \"vpc_create_params\": Object {\"authz_project\": Object {\"key\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"lookup_type\": Object {\"ByName\": String(\"test-project\")}, \"parent\": Object {\"key\": String(\"001de000-5110-4000-8000-000000000000\"), \"lookup_type\": Object {\"ById\": String(\"001de000-5110-4000-8000-000000000000\")}, \"parent\": Null}}, \"serialized_authn\": Object {\"kind\": Object {\"Authenticated\": Array [Object {\"actor\": Object {\"SiloUser\": Object {\"silo_id\": String(\"001de000-5110-4000-8000-000000000000\"), \"silo_user_id\": String(\"001de000-05e4-4000-8000-000000004007\")}}, \"credential_id\": Null, \"device_token_expiration\": Null}, Object {\"mapped_fleet_roles\": Object {}}]}}, \"vpc_create\": Object {\"description\": String(\"Default VPC\"), \"dns_name\": String(\"default\"), \"ipv6_prefix\": String(\"fdbf:e912:f6d3::/48\"), \"name\": String(\"default\")}}, \"vpc_id\": String(\"a610ecce-68b9-4289-be6f-a2ed8db852d9\")} }) }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.921309375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.921346105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.921372855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.921398565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.921420605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.924188999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.925490721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.925546761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.925573151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.925747262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.928546866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/projects","method":"POST","req_id":"6a1e9bc1-2800-46a5-8df5-083a8de77607","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":1120043,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.928804486Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","status":"201"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929143037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929188097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929202197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929214417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929228427Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929241457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929253067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929317667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929353407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929367507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929379437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929391327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929403387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929415167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929428217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929441737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929454487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929466467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929478067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929490487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929502547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929515607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929528777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929541067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929553107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929564897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929577827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929589397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929600907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929612457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929624907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929636327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929649498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929663568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929675158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929687958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929699658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929791488Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929807888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929823418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929835498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929850028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929862308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929873838Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929885918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929899598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929912798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929924638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929936998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929950638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929962558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929974088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929987568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.929999238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930011708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930022938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930036168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930048638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930060098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930071098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930082558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930094218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930106208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930121398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930133848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930145328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930157018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930178758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930191988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930203708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930215258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930226428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930237368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930249108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930261758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930273588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.930285168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:52.948285696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:55822/v1/instances?project=test-project","method":"POST"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.948649537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.948680517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060800.0.0"} {"msg":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.950114599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"looking up silo for user","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.950225439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","silo_user_id":"001de000-05e4-4000-8000-000000004007"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.950259819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.950281279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.95081019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.953139543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.953185833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.953586614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.955748527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.955801777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.955825018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.955845448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.95711308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.959620463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.959663893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.959684353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.960039184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.962340367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.965873123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.965919923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.965964343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.966290264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.9703052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.97052468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.97055226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.97057163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.970888071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.973054594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.973112144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.973135564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.973745985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.975844708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"external-authenticator\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.978145162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"ExternalAuthn","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000003 (built_in_user), .. })"} {"msg":"authn result: Ok(Context { kind: Authenticated(Details { actor: Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }, device_token_expiration: None, credential_id: None }, Some(SiloAuthnPolicy { mapped_fleet_roles: {} })), schemes_tried: [Spoof] })","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.978218412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.978249122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.978280162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.978309292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.978369812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.978636132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.981175566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.982496428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.982563978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.982591508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.982810699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.985085822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.985151512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.985375543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.987562006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.987625996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.987859357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.99012282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.99017526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.99020769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.99023537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.990516171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.993103145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:52.993179645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.993209375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:52.997266291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.001355577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.001421327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.001460467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.001723058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.005081963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.014250217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.014506957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.014543107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.015059518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.020953727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.021016397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.021599608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.024209742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.024591923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.024641013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.024670683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.025195384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.034086177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.034375218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.034407198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.034659928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.046249716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.047819398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.047892258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.047924158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.047952588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.047979588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.048167279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.053566067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.053658697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.053690487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.054113028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.058529745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.060427757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.060518778Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.060547708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.060759868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.066689857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.066772127Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.066805567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.066835327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.067136378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.072629716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.072701756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.072730746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.073215637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.076072641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.076136301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.076166682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.076419182Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.078885606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.083220192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ByName(\"test-project\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.083310412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.083341592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.083524933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.087913209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.08798877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.08801238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.0880329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.08845974Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.093262978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.09507072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.095160901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.095217211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.095413891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.103523713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.103582423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.103784614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-create","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":12,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[6,7,null],[7,8,null],[8,9,null],[9,10,null],[11,0,null],[10,12,null]],\"node_holes\":[],\"nodes\":[{\"Constant\":{\"name\":\"instance_id\",\"value\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"}},{\"Action\":{\"action_name\":\"instance_create.create_instance_record\",\"label\":\"CreateInstanceRecord\",\"name\":\"instance_record\"}},{\"Action\":{\"action_name\":\"instance_create.associate_ssh_keys\",\"label\":\"AssociateSshKeys\",\"name\":\"output\"}},{\"Constant\":{\"name\":\"network_interface_params0\",\"value\":{\"instance_id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"instance_name\":\"test-instance\",\"interface_id\":\"6741557b-d6fd-4a60-9261-6fd8cdc1315b\",\"nic_spec\":{\"Default\":\"Ipv4\"},\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},{\"SubsagaStart\":{\"params_node_name\":\"network_interface_params0\",\"saga_name\":\"instance-create-nic0\"}},{\"Action\":{\"action_name\":\"instance_create.create_network_interface\",\"label\":\"CreateNetworkInterface0\",\"name\":\"output\"}},{\"SubsagaEnd\":{\"name\":\"network_interface0\"}},{\"Action\":{\"action_name\":\"common.uuid_generate\",\"label\":\"CreateSnatIpv4Id\",\"name\":\"snat_ipv4_id\"}},{\"Action\":{\"action_name\":\"instance_create.create_snat_ipv4\",\"label\":\"CreateSnatIpv4\",\"name\":\"snat_ipv4\"}},{\"Action\":{\"action_name\":\"instance_create.set_boot_disk\",\"label\":\"SetBootDisk\",\"name\":\"set_boot_disk\"}},{\"Action\":{\"action_name\":\"instance_create.move_to_stopped\",\"label\":\"MoveToStopped\",\"name\":\"stopped_instance\"}},{\"Start\":{\"params\":{\"boundary_switches\":[],\"create_params\":{\"anti_affinity_groups\":[],\"auto_restart_policy\":null,\"boot_disk\":null,\"cpu_platform\":null,\"description\":\"instance \\\"test-instance\\\"\",\"disks\":[],\"enable_jumbo_frames\":false,\"external_ips\":[],\"hostname\":\"test-instance\",\"memory\":2147483648,\"multicast_groups\":[],\"name\":\"test-instance\",\"ncpus\":2,\"network_interfaces\":{\"type\":\"default_ipv4\"},\"ssh_public_keys\":[],\"start\":false,\"user_data\":\"I2Nsb3VkLWNvbmZpZw==\"},\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-create\",\"start_node\":11}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.103928094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-create","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.107119619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.107311409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-create","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.107393969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.107434789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.109880043Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.109918813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.115497202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.115546802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.119555458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.119617458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"))","node_id":"0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.122116102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.122144612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.125066266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.125158876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.125572317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.127855051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.127890101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.128540802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.130873475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.130925785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.130954625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.130995165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.131489306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"batch interval expired, but no samples to insert","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.13416454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"batch interval expired, but no samples to insert","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.13419158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.1342081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.1342404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.13426736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.134760511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.137149055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.137215275Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.137242635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.137549985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.14065761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.145096247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.145254667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.145343807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.145403397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.145450257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.14686937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.156123304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.156197254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.156225554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.156705375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.161476002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.161556292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.161587232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.162324703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.166378009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.172362769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.172461319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.172490429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.172803429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateInstanceRecord","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.252354031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.252398351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Creating\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": Null, \"state_generation\": Number(1), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"1","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.256392777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.256449907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.259049751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.259134261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.259564322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.260337613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.260380533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.261508365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.261570685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.261959616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.262732917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.263192047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.263249428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.263268698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.264217939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.266108242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.266243962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.266272012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.268909536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.273355613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.273414173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.273443023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.273925744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.277077229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.278616331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.278679061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.278710691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.278737831Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.278763741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.279020282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.287732365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.287801555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.287828645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.288281006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.2907187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.292178642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AssociateSshKeys","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"SiloUser { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 001de000-05e4-4000-8000-000000004007 (silo_user), lookup_type: ById(001de000-05e4-4000-8000-000000004007) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.292271122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.292292672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"2","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.299333433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.299360063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.304491771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.304538011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"instance_name\": String(\"test-instance\"), \"interface_id\": String(\"6741557b-d6fd-4a60-9261-6fd8cdc1315b\"), \"nic_spec\": Object {\"Default\": String(\"Ipv4\")}, \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"serialized_authn\": Object {\"kind\": Object {\"Authenticated\": Array [Object {\"actor\": Object {\"SiloUser\": Object {\"silo_id\": String(\"001de000-5110-4000-8000-000000000000\"), \"silo_user_id\": String(\"001de000-05e4-4000-8000-000000004007\")}}, \"credential_id\": Null, \"device_token_expiration\": Null}, Object {\"mapped_fleet_roles\": Object {}}]}}})","node_id":"3","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.307628225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.307669455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.310284739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.3103301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"4","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.312940024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.313021964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.315260157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.315317987Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.315875048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.319057693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.319118643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.319413933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.321548107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.321598527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.321986427Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.32361439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.32366742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.32370563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.32379864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.32399012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.326125424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.326191384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.326219284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.326620714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.329227288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.329319979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.33020599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.331094751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.333677655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.337866322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.337945132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.337975032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.338213832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.339993395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.340036955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.340479176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.342324988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.342379329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.342687719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.345211503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.345265563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.345742104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.348146747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }, key: bda8f46e-e360-4dad-90aa-448739d63312, lookup_type: ByName(\"default\") }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.348203997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.348231527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.348257628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.348601508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.351082892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.351137052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.351164332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.351430072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.353952186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.354016736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.354044746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.354415847Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.356885541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.366697126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }, key: bda8f46e-e360-4dad-90aa-448739d63312, lookup_type: ByName(\"default\") }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.366782396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.366819496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.366849066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.366875846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.367063556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.373529906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.373609546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.373637686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.374077907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.378555164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.378614004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.378641964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.379126955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.382203059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.386543366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.386636946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }, key: bda8f46e-e360-4dad-90aa-448739d63312, lookup_type: ByName(\"default\") }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.386676056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.386704256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.386730876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.386856587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.389711701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.389779101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.389808051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.390295082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.392731935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.392797406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.392825536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.393185496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.39584017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.401112058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }, key: bda8f46e-e360-4dad-90aa-448739d63312, lookup_type: ByName(\"default\") }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.401168498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.401193608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.401417429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.418663015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.418733965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.419124706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateNetworkInterface0","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.42193785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.4219716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"5","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.425199625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.425231775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.427583109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.427629299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.429891382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.429961852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.432666827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.432721597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"99774c8b-0646-4984-b9c9-c933ff78883f\"))","node_id":"7","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.43472304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.43487718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.439381277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateSnatIpv4","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.439447937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateSnatIpv4","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.439941118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateSnatIpv4","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.482166572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateSnatIpv4","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.482222122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateSnatIpv4","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.482841013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateSnatIpv4","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.560528382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.560588502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.563328696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.563379066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.567028622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.567110132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.569807226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.569852706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.577557818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.577592038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.581049583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.581100523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.583806058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.583865268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.587533673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.587634023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.591160589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-create","saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.591218909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.591345529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"1f19c013-f537-47d7-b454-e4988e1b0836","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 1f19c013-f537-47d7-b454-e4988e1b0836, saga_log: SagaLog { saga_id: 1f19c013-f537-47d7-b454-e4988e1b0836, unwinding: false, events: [N011 started, N011 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N006 started, N006 succeeded, N007 started, N007 succeeded, N008 started, N008 succeeded, N009 started, N009 succeeded, N010 started, N010 succeeded, N012 started, N012 succeeded], node_status: {0: Succeeded(String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\")), 1: Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Creating\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": Null, \"state_generation\": Number(1), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]}), 2: Succeeded(Null), 3: Succeeded(Object {\"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"instance_name\": String(\"test-instance\"), \"interface_id\": String(\"6741557b-d6fd-4a60-9261-6fd8cdc1315b\"), \"nic_spec\": Object {\"Default\": String(\"Ipv4\")}, \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"serialized_authn\": Object {\"kind\": Object {\"Authenticated\": Array [Object {\"actor\": Object {\"SiloUser\": Object {\"silo_id\": String(\"001de000-5110-4000-8000-000000000000\"), \"silo_user_id\": String(\"001de000-05e4-4000-8000-000000004007\")}}, \"credential_id\": Null, \"device_token_expiration\": Null}, Object {\"mapped_fleet_roles\": Object {}}]}}}), 4: Succeeded(Null), 5: Succeeded(Null), 6: Succeeded(Null), 7: Succeeded(String(\"99774c8b-0646-4984-b9c9-c933ff78883f\")), 8: Succeeded(Null), 9: Succeeded(Null), 10: Succeeded(Null), 11: Succeeded(Null), 12: Succeeded(Null)} }, kind: Ok(SagaResultOk { saga_output: Null, node_outputs: {\"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"instance_record\": Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Creating\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": Null, \"state_generation\": Number(1), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]}, \"network_interface0\": Null, \"network_interface_params0\": Object {\"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"instance_name\": String(\"test-instance\"), \"interface_id\": String(\"6741557b-d6fd-4a60-9261-6fd8cdc1315b\"), \"nic_spec\": Object {\"Default\": String(\"Ipv4\")}, \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"serialized_authn\": Object {\"kind\": Object {\"Authenticated\": Array [Object {\"actor\": Object {\"SiloUser\": Object {\"silo_id\": String(\"001de000-5110-4000-8000-000000000000\"), \"silo_user_id\": String(\"001de000-05e4-4000-8000-000000004007\")}}, \"credential_id\": Null, \"device_token_expiration\": Null}, Object {\"mapped_fleet_roles\": Object {}}]}}}, \"output\": Null, \"set_boot_disk\": Null, \"snat_ipv4\": Null, \"snat_ipv4_id\": String(\"99774c8b-0646-4984-b9c9-c933ff78883f\"), \"stopped_instance\": Null} }) }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.591491249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.591528139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.59181258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.592409331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":3,"reason":"Signaled"} {"msg":"VPC route manager running","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.592459121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.592476171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.592496681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.592519241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.592538471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.592784171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.593145672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Signaled"} {"msg":"multicast group reconciler activating","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.593189652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"starting multicast reconciliation pass","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.593206302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"skipping cache invalidation check: no inventory available","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.593221862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.593236762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.593792543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:14921","req_id":"8290a2b6-1e5e-4ebc-935a-913387d2afe3","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 41 e0 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 A............_de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.593836293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:14921","req_id":"8290a2b6-1e5e-4ebc-935a-913387d2afe3","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 16864,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.593981413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.594086053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.594166883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:14921","req_id":"8290a2b6-1e5e-4ebc-935a-913387d2afe3","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.594406604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1134, tv_nsec: 55345303 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.594443064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.594644614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:48169","req_id":"37a21b84-7394-4ed4-80b5-975799788971","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: b3 d7 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e ............-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.594697904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:48169","req_id":"37a21b84-7394-4ed4-80b5-975799788971","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 46039,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.594784434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.594799814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:48169","req_id":"37a21b84-7394-4ed4-80b5-975799788971","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.626059852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.626467813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.629040507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.629073507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.629093567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.629115087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.629133407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.631641791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.632584422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.632655472Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.633115173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.634646825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.63764771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.63770512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.63772823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.63800434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.638676642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.638741542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.638966192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.640257224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"9068052b-6079-43e3-8851-6a745bf586ff\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:34:53 GMT\"} })"} {"msg":"searching for multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.641299466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","state":"Creating"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.641336166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.641484986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.641954937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"VPC route manager sled b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.682386018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.682440008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/vpc-routes","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.682840739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.682927409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.682956579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.682984029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.68329404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.684179721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:38170"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.684456052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vpc-routes","method":"GET","req_id":"7acd80e6-6cab-4452-ad9d-5881339ef2af","remote_addr":"[::1]:38170","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.684487812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vpc-routes","method":"GET","req_id":"7acd80e6-6cab-4452-ad9d-5881339ef2af","remote_addr":"[::1]:38170","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.684618722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vpc-routes","method":"GET","req_id":"7acd80e6-6cab-4452-ad9d-5881339ef2af","remote_addr":"[::1]:38170","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":154,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.684799692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/vpc-routes\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"7acd80e6-6cab-4452-ad9d-5881339ef2af\", \"content-length\": \"2\", \"date\": \"Wed, 10 Jun 2026 21:34:53 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.684853112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.684908242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.685203113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.685952554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.686015054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.686046214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.686496055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.690958171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.691006402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.691032562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.691564412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.698659263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.704441902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.704517522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.704554032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.704582542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.704608752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.704879833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.707740757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.707804747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.707835507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.708088198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.710773002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.710873602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.710913662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.711138512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.715704499Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.721433468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.721512718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.721538958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.721737169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.725590204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.725653194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.725681115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.725706405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.726054165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"found multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.727608577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","state":"Creating","count":0} {"msg":"reconciling member state changes","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.727683168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.727732078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.727759218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.728192238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.728654539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.729877291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"AuditLog","action":"CreateChild","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.729936061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.729966091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.730125581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"computed internet gateway mappings for sled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.743856462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","assocs":"{}","sled":"SimGimlet00"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.743938672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:62019/eip-gateways","method":"PUT"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.744381693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/eip-gateways","method":"PUT","req_id":"f22070cc-03bc-4e34-9cb2-5b60270e2ceb","remote_addr":"[::1]:38170","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.744419603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/eip-gateways","method":"PUT","req_id":"f22070cc-03bc-4e34-9cb2-5b60270e2ceb","remote_addr":"[::1]:38170","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.744694994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/eip-gateways","method":"PUT","req_id":"f22070cc-03bc-4e34-9cb2-5b60270e2ceb","remote_addr":"[::1]:38170","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":317,"response_code":204} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.744869434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/eip-gateways\", status: 204, headers: {\"x-request-id\": \"f22070cc-03bc-4e34-9cb2-5b60270e2ceb\", \"date\": \"Wed, 10 Jun 2026 21:34:53 GMT\"} })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.744997164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":3,"elapsed":"152.610643ms"} {"msg":"member state reconciliation completed","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.769840591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","members_processed":0} {"msg":"cleaning up deleted multicast members","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.769874841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.769892471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.769914531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.770470302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.778207764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"80d99968-75e8-4fbc-83d5-ac494f03aeb3","remote_addr":"127.0.0.1:32930","local_addr":"127.0.0.1:55822","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":829588,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.778565965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"external client test context","status":"201"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779061305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779111305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779126115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779139365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779156055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779170225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779182675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779196115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779209326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779221166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779233556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779247936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779261326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779275836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779289706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779302476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779314736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779329236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779342496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779354246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779366276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779380136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779394286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779409946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779423046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779436156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779448856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779460686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779475546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779491006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779503826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779516006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779531546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779544726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779556356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779568136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779584846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779598756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779611856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779626476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779639656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779651656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779665436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779679436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779692876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779708186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779721026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779733766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779747316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779760166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779772296Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779787406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779800846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779813716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779825406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779839286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779851986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779865457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779879877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779895477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779908407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779920047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779932977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779945587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779958817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779970277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779984977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.779997757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.780010087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.780025057Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.780037387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.780049217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.780063287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.780076367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.780088337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.780101437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.780115967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.798094494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.798151404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.798851536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.80178141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.80191886Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.802307011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.809657342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.809689902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.810201703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.814245599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.814292539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.814311349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.814327429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.81479635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"multicast group member complete deletion finished","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.815495411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","left_and_time_deleted_members_deleted":0} {"msg":"checking for empty multicast groups to implicitly delete","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.815550181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.815568491Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.815592651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.815899972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.818578356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.818615516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.818632366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.819028806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.823617063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.823682774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.823700324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.824186854Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.826471248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.83435316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.83441558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.83444243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.83446554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.83448217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.83467954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.837178764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.837221624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.837243114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.837670615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.840187889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.840237559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.840257479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.840611829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.845298247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.849668923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.849705193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.849721763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.850003304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"searching for multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.850626805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","state":"Active"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.850675735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.850698525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.851345666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.85393161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(0)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.855862183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"GeneratePropolisId","node_name":"propolis_id"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.856031073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.856066473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.856216963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":2,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.856398354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"61be54a9-7c91-46ec-923e-1ee154394619"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.859999759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(0)","saga_id":"61be54a9-7c91-46ec-923e-1ee154394619"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.860055549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.860092259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.860111959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.860128639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.862669313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.862714143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.868905573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.868957313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.871379466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.871459907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"0","saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.881320432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"61be54a9-7c91-46ec-923e-1ee154394619"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.881358272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.885589718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.885638598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"found multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.887750761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","state":"Active","count":0} {"msg":"searching for multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.887807032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","state":"Deleting"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.887827302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.887849662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.888841093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.892479619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.892568219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"found multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.895241833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","state":"Deleting","count":0} {"msg":"multicast RPW reconciliation cycle completed","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.895294343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_count":0,"total_dpd_operations":0,"orphaned_member_cleanup":0,"member_lifecycle_transitions":0,"active_groups_verified":0,"external_groups_deleted":0,"external_groups_created":0} {"msg":"multicast RPW reconciliation pass completed - dataplane consistent","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.895542403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.895576523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"disabled\":false,\"empty_groups_marked\":0,\"errors\":[],\"groups_created\":0,\"groups_deleted\":0,\"groups_verified\":0,\"members_deleted\":0,\"members_processed\":0}","iteration":2,"elapsed":"302.334621ms"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.896485115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"61be54a9-7c91-46ec-923e-1ee154394619"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.896536425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:53.905884589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"propolis_id\"","result":"failure","saga_name":"instance-start","saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.905960889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90611164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"61be54a9-7c91-46ec-923e-1ee154394619","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 61be54a9-7c91-46ec-923e-1ee154394619, saga_log: SagaLog { saga_id: 61be54a9-7c91-46ec-923e-1ee154394619, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 failed, N024 undo_started, N024 undo_finished], node_status: {0: Failed(InjectedError), 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"propolis_id\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90640048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90641922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90643187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90644362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90645701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90646929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.9064862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90649935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90651636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90653111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90654815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90656211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.9065765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90659152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90660524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90668584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90670158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90671687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90673194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.90674589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.906759891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.906774901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.906793411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.906808051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.906825231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.906841511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.906855491Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.906872891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.906886321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.906900271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.906914561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.906928211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.906944661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.906966211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907002511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907021521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907054891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907069321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907083001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907098321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907113571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907129341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907143681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907155401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907168901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907184921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907199781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907215201Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907230211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907330621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907346921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907363851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907379341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907440452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907455892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907471122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907486952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907503012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907517152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907583352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907599482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907614372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907629802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907656332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907671462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907685552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907699572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907713262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907727102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907741342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907754612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907768592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907784532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907799332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907831572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907857202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.907877122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.924060987Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.924156387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.924589168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.926799601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.926917221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.927918063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.931059308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.931108878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.931733669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.934062782Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.934226383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.934285343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.934306363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.934768703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.937466337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.937519108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.937541188Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.938121278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.941049253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.941097983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.941115743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.941529844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.944418298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.951679479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.951740699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.951757639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.951782149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.951800089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.951817439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.95210089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.95901349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.95907084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.959092401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.959517611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.963638067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.963684768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.963702818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.964703199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.967533833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.973661993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:53.973723873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.973743543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:53.974532654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.977927349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.979863762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.993979594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994029884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994047734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994063344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994075504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994090044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994119834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994142704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994155604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994172584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994188204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994200424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994212334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994224144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994235924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994247794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994259474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994271914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994284084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994296954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994308644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994320404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994332094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994344084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994356294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994368624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994380634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994502765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994518415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994530065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994542145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994554175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994565795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994577455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994590435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994602505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994614545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994626625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994638495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994650265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994662585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994674725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994686855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994699305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994710805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994722915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994734665Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994746695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994758955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994770855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994783265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994796555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994809975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994821865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994837965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994850305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994864635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994877495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994888795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994900295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994912045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994924135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994936045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994951785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994964895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994976445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.994990945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.995003365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.995017015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.995028445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.995041115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.995052876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.995064306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.995076256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.995087906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.995099456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:53.995112126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.009185107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.009232597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.011785851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.014583285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.014658615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.015095226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.017037329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.017082699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.01771322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.022316547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.022359167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.022379707Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.022397477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.022974908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.025999673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.026128513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.026177453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.026620084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.029683338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.029739519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.029759459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.03045346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.035138027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.040191405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.040274855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.040312965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.040334935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.040352415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.040715755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.044868532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.044916702Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.044938492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.045418143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.049219968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.049272288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.049292848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.049766479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.053811735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.061562767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.061620277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.061796298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.061900008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.06972864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(1)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.072371724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"AllocServer","node_name":"sled_id"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.072429654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.072498964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.073052065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":2,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.073487645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.077935232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(1)","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.078010652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.078031872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.078050272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.078066672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.084780693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.084837403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.088238808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.088285818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.092433754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.092488814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"58199881-9e9a-44bf-81a5-31200a969b75\"))","node_id":"0","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.100237716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.100288186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.103495761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.103577611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"1","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.108263989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.108304239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.113172136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.113227506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.116163441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.116208951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.119265015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.119314135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.12194668Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.12200211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.124213893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.124243233Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:54.12871125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"sled_id\"","result":"failure","saga_name":"instance-start","saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.12877666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.128914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8a2aa27f-1c05-43a3-aff5-5f7baf297e28","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 8a2aa27f-1c05-43a3-aff5-5f7baf297e28, saga_log: SagaLog { saga_id: 8a2aa27f-1c05-43a3-aff5-5f7baf297e28, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 failed, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: Failed(InjectedError), 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"sled_id\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129142081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129203391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129222531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129236151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129248711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129262421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129274681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129286681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129298541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129310151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129322331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129334331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129346481Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129360031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129371421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129383731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129395721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129407821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129420021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129432011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129443731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129543441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129567651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129580281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129596271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129610201Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129622071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129634381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129646031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129658731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129672041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129685471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129698451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129710041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129725581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129739001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129752521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129763971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129775601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129787721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129799972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129812222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129825552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129837772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129851512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129864032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129875482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129889642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129914852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129945552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129959442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129972912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.129984702Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130000102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130013792Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130027072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130039232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130051882Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130063662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130074942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130085742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130097272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130108982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130120422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130133752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130145602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130157022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130178482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130191012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130202542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130215142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130226412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130237682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130248922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130260022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130271742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.130283812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.146895948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.146944358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.147459099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.147946129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:565","component":"oximeter"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.14825875Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.14859566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"6c6671b9-cae9-4625-81d4-8ab4bd34e695","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.14863617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"6c6671b9-cae9-4625-81d4-8ab4bd34e695","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.14873513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"6c6671b9-cae9-4625-81d4-8ab4bd34e695","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.148768081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"6c6671b9-cae9-4625-81d4-8ab4bd34e695","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.149144271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"6c6671b9-cae9-4625-81d4-8ab4bd34e695","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.149778662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.149811582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.149925212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.150495833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.150529213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.151754995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.151778865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.152337366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.153384458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"6c6671b9-cae9-4625-81d4-8ab4bd34e695","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":4700,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.153818178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6c6671b9-cae9-4625-81d4-8ab4bd34e695\", \"content-length\": \"405\", \"date\": \"Wed, 10 Jun 2026 21:34:54 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.153957698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.154235229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"e190ba26-a545-4b8f-90b5-e0f878fb921f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.154290989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"e190ba26-a545-4b8f-90b5-e0f878fb921f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.154480839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"e190ba26-a545-4b8f-90b5-e0f878fb921f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.154520579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"e190ba26-a545-4b8f-90b5-e0f878fb921f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.15496403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"e190ba26-a545-4b8f-90b5-e0f878fb921f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.155635881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.155663571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.155982612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.156789693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.157525404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.159046796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"e190ba26-a545-4b8f-90b5-e0f878fb921f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":4808,"response_code":200} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.159259927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.159293447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.159369757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.159388577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.159874297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.160409178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.160449848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.161020849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e190ba26-a545-4b8f-90b5-e0f878fb921f\", \"content-length\": \"29\", \"date\": \"Wed, 10 Jun 2026 21:34:54 GMT\"} })"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.161074499Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.161095119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de"} {"msg":"refreshed list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.161111659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:640","component":"oximeter","n_current_tasks":2,"n_pruned_tasks":0} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.162472081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.162539992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.163748423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.163996394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.164043884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.164481135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.168691371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.168741211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.168758641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.169248952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.17440042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.187286029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.187338859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.18735494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.18744265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.18746278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.18747805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.18779446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.192105747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.192142477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.192159937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.192722888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.195870653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.195919573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.195936773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.196663844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.205430917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.210482505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.210589375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.210611025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.210752215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.213413209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.215995813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228585943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228634683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228679723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228700903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228713803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228728003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228740133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228751773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228763233Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228775233Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228788303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228800153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228812163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228823993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228835533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228847083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228858753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228872913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228886023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228904873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228920753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228935673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228949213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228961323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228975173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.228987503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229002143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229015343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229028963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229040233Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229054793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229068323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229080273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229092193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229103813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229115843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229128573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229143893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229157403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229170583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229182093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229193903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229205543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229218964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229232404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229245874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229257074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229273374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229286284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229298134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229309784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229323554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229340704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229353554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229365334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229378264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229390884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229403674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229417184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229430104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229443754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229455544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229470984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229487464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229499814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229513304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229526444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229537804Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229551164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229563484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229578294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229591914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229603414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229616504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229629474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229643484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.229655754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.244705567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.244764117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.245186308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.247711282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.247764722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.248295503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.251024027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.251073077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.251567588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:54.252360959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.254072592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.254108202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.254147982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.254171422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.255042483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.257977077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.258026958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.258045808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.258851219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.260083391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.260135891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.261929114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.262412724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.262444574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.262467224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.262610065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.262649835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.262667495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.263122405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.265599439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.270950247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.271004857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.271029657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.271049377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.271065737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.271587688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.275592894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.275643254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.275664605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.276385036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.2791771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.27922295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.27924215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.279667681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.282416015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.289738826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.289790506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.289813406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.290103537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.293741782Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(2)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.301940825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"AllocPropolisIp","node_name":"propolis_ip"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.301984125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.302007715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.302285675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":2,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.302446205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.306597412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(2)","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.306674792Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.306697212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.306736692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.306802962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.310292267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.310345068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.314193003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.314242744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.316885148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.316943538Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"a22d49a5-d4fb-4f27-8be2-4337157cd2eb\"))","node_id":"0","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.319893662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.319944122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.324510809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"a22d49a5-d4fb-4f27-8be2-4337157cd2eb","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.324573129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.324594509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.327163993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.340145183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"a22d49a5-d4fb-4f27-8be2-4337157cd2eb","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.353193573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"a22d49a5-d4fb-4f27-8be2-4337157cd2eb","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.353252433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"a22d49a5-d4fb-4f27-8be2-4337157cd2eb","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.353273873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"a22d49a5-d4fb-4f27-8be2-4337157cd2eb","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.353292973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"a22d49a5-d4fb-4f27-8be2-4337157cd2eb","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.359010582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"a22d49a5-d4fb-4f27-8be2-4337157cd2eb","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.359125242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.359149432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.36456168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.364615911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.368236546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.368293766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"2","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.37062252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.37065137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.377701691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.377759471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.381170246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.381227436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.381916427Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.385025902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.385072652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.389393018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.389471429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.409666529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.409728329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.413585755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.413618015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.41647312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.41654033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.419369744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.419420054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:54.424568502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"propolis_ip\"","result":"failure","saga_name":"instance-start","saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.424647462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.424783333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"bfa8abc7-0f86-4c10-917f-ef992ea0f197","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: bfa8abc7-0f86-4c10-917f-ef992ea0f197, saga_log: SagaLog { saga_id: bfa8abc7-0f86-4c10-917f-ef992ea0f197, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 failed, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: Failed(InjectedError), 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"propolis_ip\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425137423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425179553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425193923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425206273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425220823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425235713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425248213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425262553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425274553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425287683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425299733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425312803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425328423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425341643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425355413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425381293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425393053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425404743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425417543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425429363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425443544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425457604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425474564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425489594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425503894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425518084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425531974Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425543944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425556654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425569584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425582604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425594424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425606894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425620474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425634284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425654554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425668164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425728034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425770654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425785084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425799634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425813994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425830314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425850274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425862084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425888014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425903324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425915944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425929024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425944864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425958894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425974094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425987394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.425999484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426011274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426027104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426040884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426052664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426066084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426081614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426097675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426111115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426124365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426139015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426152005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426169915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426181405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426193475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426205205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426219125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426231965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426246015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426258865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426272315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426285105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426299255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.426312885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.442011819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.442045869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.44273149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.444834903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.444880033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.445331384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.450044071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.450099291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.450558722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.453104836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.457216612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.457291072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.457330832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.458348864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.461697939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.461735329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.461754309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.461767339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.467883328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.468146819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.468196789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.468446939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.471300244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.477569693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.477605973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.477660283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.477837044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.477868224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.477885544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.478384424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.485687396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.485893606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.485914006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.486186656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.490103982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.490153722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.490179092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.491215184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.495868171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.500676659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.500786439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.500807049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.502489111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.505424366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.510690844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.5215338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521591091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521610441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521625381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521639541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521671871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521689471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521714471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521728971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521743021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521758511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521773721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521788331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521802431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521816721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521894731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521909621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521937021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521950681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521964561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521976671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.521988601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.522007951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.522022201Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.522034411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.522048921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.522062931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.522187511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.522204141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.527212619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.527239279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.527253299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.527266619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.527323779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.527337259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.527352999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.527366509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.527380559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.527397449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.527434479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.527448759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.527462449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52747596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52748989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52750327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52751636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.5275357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52754952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52756334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52757634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52759055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52760662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.5276209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52763531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52765295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52766863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52768183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.5276951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52770847Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52772139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52773622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52775121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52781429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52799522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52806893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52808367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52809732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52811046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.52812396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.528135181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.528148581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.528162441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.528175301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.528188551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.528268041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.528280251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.528292331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.545718827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.545764587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.546388038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.549744244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.549798394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.550268454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.552406408Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.552445998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.552843248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.554512591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.554565941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.554624801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.554671971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.555287632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.558479307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.558530877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.558551267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.559010468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.563316844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.563374014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.563396004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.563776435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.56695478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.574043241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.574079951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.574100961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.574118291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.574132911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.574529861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.579593569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.579647369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.579666619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.58037888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.583416085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.583447835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.583465035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.583902236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.58654751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.592701419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.592761719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.592780429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.59301324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.595190033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(3)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.597537847Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"CreateVmmRecord","node_name":"vmm_record"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.597582737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.597606737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.597872637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":2,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.598047077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.606643271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(3)","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.606702881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.606721331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.606739931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.606758231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.610599117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.610650457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.61314366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.613173441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.615205954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.615229764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"e47367f5-cd89-4de4-b53b-8f3969096c2d\"))","node_id":"0","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.617648967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.617711417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.624715968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"e47367f5-cd89-4de4-b53b-8f3969096c2d","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.624773898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.624802388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.625566789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.629796696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"e47367f5-cd89-4de4-b53b-8f3969096c2d","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.635070814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"e47367f5-cd89-4de4-b53b-8f3969096c2d","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.635110324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"e47367f5-cd89-4de4-b53b-8f3969096c2d","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.635128864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"e47367f5-cd89-4de4-b53b-8f3969096c2d","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.635146234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"e47367f5-cd89-4de4-b53b-8f3969096c2d","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.640889793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"e47367f5-cd89-4de4-b53b-8f3969096c2d","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.641066103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.641109893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.643739907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.643766167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.646019451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.646080541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.646484301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.649687556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.649712486Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:0\"))","node_id":"2","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.65194598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.65199125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.653945113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.654029873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"3","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.655925596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.655972506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.658981351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.659037651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.661343204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.661387264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.663793008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.663832338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.665695991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.665742851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.666292422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.668472555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.668521195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.672800932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.672912122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.674989585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.675020505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.677262929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.677310199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.679617572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.679665612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.681962616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.682025726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:54.685226911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"vmm_record\"","result":"failure","saga_name":"instance-start","saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.685306401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.685436451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"1185fd8a-73f9-4ec3-8585-e783c1a9c393","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 1185fd8a-73f9-4ec3-8585-e783c1a9c393, saga_log: SagaLog { saga_id: 1185fd8a-73f9-4ec3-8585-e783c1a9c393, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 failed, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: Failed(InjectedError), 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"vmm_record\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.687856545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.687892255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.687906225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.687918905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.687933335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.687946835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.687961245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.687974635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.687986655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.687999285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688011925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688026395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688040895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688054025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688067345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688080435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688092705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688107535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688120555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688136315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688148305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688162915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688175775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688188685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688202065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688217935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688231765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688246355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688259295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688274135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688286005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688297585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688310185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688322595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688334455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688347215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688363235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688376255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688388336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688400316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688412336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688425436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688437936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688449246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688461556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688474506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688485906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688498766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688511356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688524066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688538446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688551236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688562436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688573936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688586356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688601236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688613606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688624776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688636276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688650076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688662416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688675466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688687566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688699566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688712576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688724356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688736746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688749866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688762206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688774216Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688788006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688806296Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688817316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688828166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688839246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688850636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.688862016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.702191637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.702247647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.702638307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.704767541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.704795521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.705180071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.706965744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.707020494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.707468285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.709237367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.709293287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.709315758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.709333258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.709774948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.711945582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.711977852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.712059342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.712334652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.714192185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.714240905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.714263785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.714531205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.717035239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.723583799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.723649919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.723668699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.723692549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.72371337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.72373034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.72394155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.726181863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.726232563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.726253793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.726673074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.731531091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.731572302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.731592732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.732269683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.735103387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.740492895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.740547345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.740568195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.740787946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.743001479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.745576093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756420069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756465139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756481889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756494999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756529769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756544589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756558459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756573429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756586749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756600079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756613629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756626579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756671139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756686379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756700039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756716909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756730469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756745299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756758029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756784439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756824279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756838089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756854609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756868119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756881909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756923079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756936939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756949779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.756961369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.7569753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75698994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75703334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75704687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75706125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75707648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75709248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75711979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75713315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75716357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75717961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75719346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75720846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75724483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.7572605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75727381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75728759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75730774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75732495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75733794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75735362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75736966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75738443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75739786Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75741021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75742719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75744153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75745763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75747122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75748504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75749992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.75751493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757675961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757698351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757713821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757731891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757749411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757769721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757818051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757832761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757846311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757859111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757872441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757885101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757903411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757918071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757931801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.757967941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.780606546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.780713096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.782333958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.787292646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.787343076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.787751907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.789508229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.789552769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.78995963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.791996073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.792040653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.792060513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.792076473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.792519684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.794893877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.794932238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.794949458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.795353818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.799410824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.799502075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.800030205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.800377536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.80285562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.807514187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.807578647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.807603997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.807621967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.807639187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.807848237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.810447581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.810478541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.810496481Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.810988812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.813640606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.813684396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.813703296Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.814165277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.816525691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.821205978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.821263448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.821282348Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.821522468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.823715492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(4)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.827994968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"MarkAsStarting","node_name":"started_record"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.828042698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.828065438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.828408269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":2,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.828584199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.831836304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(4)","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.831887534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.831915784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.831934284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.831950994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.834239218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.834288318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.836482311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.836534541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.838620684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.838647214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"4d811dfe-49be-41cf-b480-f78765689a86\"))","node_id":"0","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.840678677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.840731498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.842812041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"4d811dfe-49be-41cf-b480-f78765689a86","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.842864421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.842886691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.845306995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.848274389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"4d811dfe-49be-41cf-b480-f78765689a86","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.853793208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"4d811dfe-49be-41cf-b480-f78765689a86","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.853847128Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"4d811dfe-49be-41cf-b480-f78765689a86","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.853867888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"4d811dfe-49be-41cf-b480-f78765689a86","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.853886408Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"4d811dfe-49be-41cf-b480-f78765689a86","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.859163596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"4d811dfe-49be-41cf-b480-f78765689a86","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.859283366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.859309096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.865135095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.865197005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.86819977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.86824314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.869017181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.871827335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.871885005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:1\"))","node_id":"2","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.8815218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.88156275Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.885562466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.885684416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.886090687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.888886001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.888952151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.888976361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.888996481Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.889410892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.891461685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.896548133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.896673683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.896709023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.897306504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.962986104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.963038335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"4d811dfe-49be-41cf-b480-f78765689a86\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:1/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:34:54.896536Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:54.896536Z\")})","node_id":"3","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.967482941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.968345493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.972145968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.974836483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"4","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.978080768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.978125768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.983123215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.983272115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.98621362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"4d811dfe-49be-41cf-b480-f78765689a86","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.98628839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.98632441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.986697121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:54.992155639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.992255209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:54.992281489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.992303859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.99281552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.993464071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.993494411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:54.9993998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.001732794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.014488613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.014545833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.01894221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.01904017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.024267578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.024319368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.02569188Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.028768595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.028815955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.03214452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.03219312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.034801484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.034834974Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.038219639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.03827044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.042042395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.042098045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.053722383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.053799833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:55.094460815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"started_record\"","result":"failure","saga_name":"instance-start","saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.094528036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.094659146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"fa30aa98-20b0-47a4-8de9-de98cda0d3d7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: fa30aa98-20b0-47a4-8de9-de98cda0d3d7, saga_log: SagaLog { saga_id: fa30aa98-20b0-47a4-8de9-de98cda0d3d7, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 failed, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: Failed(InjectedError), 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"started_record\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.094857636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.094877856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.094891376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.094905366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.094917426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.094929266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.094950096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.094963446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.094976606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.094990026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095003646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095015446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095027726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095042846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095056146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095068026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095079596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095091226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095102656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095115736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095287637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095315157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095328637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095341637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095354927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095366537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095378177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095390507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095406997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095419417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095433827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095446097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095459097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095474247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095487107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095499597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095512937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095524567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095537637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095549777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095560947Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095572547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095584957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095595887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095608107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095620457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095631477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095642527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095656437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095669977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095682177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095694517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095706997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095720027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095732697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095743827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095755407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095766867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095777937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095792388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095805118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095816528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095831458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095844158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095858108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095871058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095882128Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095893288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095905788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095917788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095929178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095940218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095951348Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095963788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095975858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.095988588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.096004308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.113658305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.113719465Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.114144936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.114747066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.114788917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.114809817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.11705755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.120201545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.120430715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.122990519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.12371141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.12377916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.12380091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":2,"elapsed":"131.422871ms"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.125158902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.125331533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.125563483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.127790456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.127846247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.127866657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.127882967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.128333607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.130678111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.130726931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.130748551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.131200762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.1363488Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.1363721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.13638801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.13684912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.139558364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.144590242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.144674212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.144697962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.144723512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.144741762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.144757542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.145038343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.148247398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.148299948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.148318498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.148451708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.14957724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.14962685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.14964657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.150351411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.150399451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.152126064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.152179484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.152199344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.152505884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.153356656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.153847426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.155335279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.159952186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.159983666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.160003556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.160270516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.161021897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.161074177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.163491081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.166542056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.167520887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.167576997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177690893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177750273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177767963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177782253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177798053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177814763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177826553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177840013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177852173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177865613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177878533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177892173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177904753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177916273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177958253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177974393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.177986873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178002243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178015493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178027943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178042703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178062063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178077143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178090493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178103323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178116703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178130223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178141483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178153983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178173403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178187713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178204384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178217244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178233404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178250114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178262564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178280744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178292344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178303924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178315024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178332024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178344964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178357814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178371014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178384774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178400934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178424144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178437024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178454694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178472184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178485754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178503234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178516854Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178529034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178614884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178627294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178642084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178657924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178668944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178683544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178699924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178712894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178726844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178745064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178761214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178775774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178803224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178816794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178829474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178842864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178854635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178867835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178880865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178893215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178905995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178920095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.178934925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.192978426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.193026236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.193499067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.19558681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.19564012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.196054801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.197833534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.197889494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.198512855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.200196117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.200237587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.200260147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.200281187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.200688148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.203686582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.203719403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.203791753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.204185793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.206949157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.206999028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.207019748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.207317958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.209769142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.218714555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.218755476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.218782456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.218827466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.218845596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.219240626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.222063351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.222108611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.222128331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.222777642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.225418366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.225445986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.225463646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.226142337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.230552624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.238905776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.238987486Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.239013286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.239299747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.243215003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(5)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.246495958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"ListLocalStorage","node_name":"local_storage_records"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.246580738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.246605138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.247044489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":2,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.247259009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:55.250214984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.251642466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(5)","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.251688806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.251708496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.251795066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.251814896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.255053871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.255109511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.257652695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.257705365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.260210039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.260245309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.26061336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.26066603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"75e33150-d5e0-44da-8b6c-ebc9209b7f29\"))","node_id":"0","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.263706664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.263919135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.264152245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.264212845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.265177946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.265222207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.271283136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"75e33150-d5e0-44da-8b6c-ebc9209b7f29","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.271330696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.271355506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.271780037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.275259042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"75e33150-d5e0-44da-8b6c-ebc9209b7f29","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.28048213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"75e33150-d5e0-44da-8b6c-ebc9209b7f29","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.2805419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"75e33150-d5e0-44da-8b6c-ebc9209b7f29","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.28056302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"75e33150-d5e0-44da-8b6c-ebc9209b7f29","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.28058172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"75e33150-d5e0-44da-8b6c-ebc9209b7f29","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.288094302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"75e33150-d5e0-44da-8b6c-ebc9209b7f29","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.288368242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.288397552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.291912017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.291985227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.294476521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.294575251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.295015122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.298093937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.298150967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:2\"))","node_id":"2","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.302082083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.302129483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.305626808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.305679658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.306098939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.308458803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.308522013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.308547463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.308569143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.308840753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.31316887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.316103224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.316160514Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.316212425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.316437615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.32008762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.32011824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"75e33150-d5e0-44da-8b6c-ebc9209b7f29\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:2/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:34:55.316082Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:55.316082Z\")})","node_id":"3","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.323334175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.323357835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.325869769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"75e33150-d5e0-44da-8b6c-ebc9209b7f29","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.325928529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.325959689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.32640218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.328441903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.328511833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.328911434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.331087487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.331209907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.331700198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.333623651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.333687771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.333717221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.333743651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.334302842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.337088446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.337137646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.337164157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.337633087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.348309614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.348489594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.348517594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.350215196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.354370793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.360377302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.360433902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.360472662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.360507162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.360533042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.360786633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.364443568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.364508188Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.364535678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.364967139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.37241692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.372487581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.372517751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.372988281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.377029977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.383243287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.383337817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.383370017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.383626778Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.394030653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.394071964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"75e33150-d5e0-44da-8b6c-ebc9209b7f29\"), \"state_generation\": Number(3), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.397137528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.397182428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.400653174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.400693614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"5","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.40497544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.40502871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.410101948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.410148968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.413665924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.419224452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.419279842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.422331097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.422402727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.426944494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"75e33150-d5e0-44da-8b6c-ebc9209b7f29","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.427005314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.427038714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.427390084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.43095458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.43109643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":3,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.43115272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.43117924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.431841221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.432525162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.432576032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.435119136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.435179016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.435203376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.435736137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.436765759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.436812289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.439242213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.439284023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.441597776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.441649866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.444738501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.444773591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.445215032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.448113446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.448152696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.453681735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.453735665Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.460816116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.460862086Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.46350033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.46353207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.470778621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.470841521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.474505577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.474549477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.476438959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.47653376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.47655741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":3,"elapsed":"45.41105ms"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:55.479581714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"local_storage_records\"","result":"failure","saga_name":"instance-start","saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.479710074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.479799605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2875eed-6571-47f3-8f5e-1fc97eda4bdb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: a2875eed-6571-47f3-8f5e-1fc97eda4bdb, saga_log: SagaLog { saga_id: a2875eed-6571-47f3-8f5e-1fc97eda4bdb, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 failed, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: Failed(InjectedError), 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"local_storage_records\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480185365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480214935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480228455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480254035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480268835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480281895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480327825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480342545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480353645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480364755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480375615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480386666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480398006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480411306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480423576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480436796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480449426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480460936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480472326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480484096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480499206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480512046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480523756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480535176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480546376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480558126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480569846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480582136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480594366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480605826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480618146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480629616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480640526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480651816Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480664186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480676076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480687156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480698936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480710796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480723646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480735506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480747906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480806436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480833316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480846956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480858966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480871146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480883866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480895816Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480908736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480921176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480933066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480944316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480957046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480968536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.480981306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481015566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481028976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481040637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481052267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481079957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481092247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481103327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481114837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481125567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481136857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481149307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481161797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481218757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481233647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481245707Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481259547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481271667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481282767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481293417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481304487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.481316117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.501291097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.501346468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.502055889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.505733794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.505769224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.506707366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.509934871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.509984651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.510340331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.513893007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.513951357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.513972867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.513989367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.514412538Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.517704303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.517748403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.517768863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.518212853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.520234156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.520270046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.520296117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.520628407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.52268971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.52896145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.52902933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.52904901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.52907482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.52909568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.5291124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.52930732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.532377805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.532437225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.532458425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.532908946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.536465001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.536499331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.536517951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.536863562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.539327386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.543933143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.543993163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.544013283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.544205713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.546773307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(4)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.549290481Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(4)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558108614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558137784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558151544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558170794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558183144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558195514Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558463035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558481685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558494565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558506595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558518005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558529095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558541625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558553495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558565125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558576615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558587715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558601165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558617805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558644925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558680565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558697055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558730995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558762475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558776395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.558788805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559035976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559333226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559355206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559372096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559425216Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559442116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559454956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559467676Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559480096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559492986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559507416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559521806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559534277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559546907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559561207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559576097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559588567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559600117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559615327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559631607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559647057Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559661337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559675117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559844327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559884117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.559899377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560028247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560053937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560068937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560084797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560105857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560120067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560132547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560145087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560160027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560173417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560188698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560203388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560217698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560230418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560252068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560266238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560281738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560295388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560308998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560322498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560335968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560350448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560363538Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560388648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.560402038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.582774442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.582807112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.583306393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.586026377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.586095537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.586751368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.588889341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.588924411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.589627903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.593206438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.593264708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.593284398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.593300818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.593694209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.600723229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.60076664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.60078547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.601401581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.605461917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.605504757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.605523527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.605902237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.608987012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.61397957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.61403779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.61406687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.61412527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.61416428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.61434567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.617424135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.617449095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.617494365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.617938486Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.621102971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.621154931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.621175521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.621596281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.625386467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.635499933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.635603323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.635710063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.636831775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.639918829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(4)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(6)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.642978564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"EnsureLocalStorage_0","node_name":"ensure_local_storage_0"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.643051454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.643075324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.643375385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":4,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.643775245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.647765281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(6)","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.648084282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.648107412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.648177462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.648195562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.652070568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.652101608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.654645202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.654819742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.657710957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.657764727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"2f97dc39-fa57-43d9-960f-cb8e2df1000c\"))","node_id":"0","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.660299321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.660332431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.662470114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"2f97dc39-fa57-43d9-960f-cb8e2df1000c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.662518034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.662540264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.662898185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.66617927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"2f97dc39-fa57-43d9-960f-cb8e2df1000c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.674309192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"2f97dc39-fa57-43d9-960f-cb8e2df1000c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.674374762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"2f97dc39-fa57-43d9-960f-cb8e2df1000c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.674398812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"2f97dc39-fa57-43d9-960f-cb8e2df1000c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.674417842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"2f97dc39-fa57-43d9-960f-cb8e2df1000c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.683943777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"2f97dc39-fa57-43d9-960f-cb8e2df1000c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.684089037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.684121167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.688951814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.689006154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.692438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.69248971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.693429991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.696470136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.696521036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:3\"))","node_id":"2","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.700456312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.700501662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.704875409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.705349319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.706312011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.709345706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.709392736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.709454006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.709476986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.709919856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.71221759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.716851037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.716906997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.716938197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.717245758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.722468286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.722693876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"2f97dc39-fa57-43d9-960f-cb8e2df1000c\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:3/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:34:55.716816Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:55.716816Z\")})","node_id":"3","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.72562156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.725729481Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.737427568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"2f97dc39-fa57-43d9-960f-cb8e2df1000c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.737480999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.737509239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.737923309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.743291707Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.743358518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.743957578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.745779901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.745869021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.746688433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.748972706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.749040046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.749069526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.749095326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.749656217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.753713703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.753815714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.753863874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.753886714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.756787917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.756850497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.756879367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.759524181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.762355056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.767216243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.767313223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.767365873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.767394273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.767419833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.767609174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.769986997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.770105648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.770145918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.770483918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.772780332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.772847302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.772876522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.773254602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.775569976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.781413745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.781464695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.781490505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.781836386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.790234798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.790290458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"2f97dc39-fa57-43d9-960f-cb8e2df1000c\"), \"state_generation\": Number(5), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.794809755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.794858435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.79790925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.79794945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.798377021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.801795536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.801875196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.802498777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.806064963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.806168253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.806612703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.809982809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.810075859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.810103749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.810129379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.810471259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.813164903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.813231014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.813259034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.813504064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.817079949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.818084261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.818145141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.818298051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.823201829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.828890417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.829032908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.829062708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.829863459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.831373791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.831514901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.831680782Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.831759722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.831784242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.835558168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.835665788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.835693638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.836062428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.839010023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:55.839098113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.839128973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.839803004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.844529351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.851020601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.852531414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.852589974Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.855587298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.855635318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.858836773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.858943493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.862164488Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.862194708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.864557102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.864607812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.866966066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.867035786Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.869090419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.869120269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.871803933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.871837023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.874342197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.874392117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.87645833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.87649448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.878713604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.878750244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.881061557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.881137127Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.883465871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.883504441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.885165524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.885210354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.887809198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.887865628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.890296051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.890340171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.896597601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.896653071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.899625116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.899690966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.902900551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.902947291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.905617005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.905683255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.910627192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.910669772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.913477067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.913676107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.916752622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.916832862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.918867325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.918914115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.923368902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.923402142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"6","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.92874618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:55.92887037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.934301439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.934334269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.937405513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.937455673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.94142464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.94145426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.94857685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.948623431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.957192284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.957456934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.962663572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.962715572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.966860528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.966941919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.971886656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.971973496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.977878505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.977936645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.983222373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.983268313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.995586992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.995645402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.998292656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:55.998345837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.005244147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.005301287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.011842537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.011898017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.014369891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.014451871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.016760555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.016806155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.02053223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.020629971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.023262995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.023311505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.026110249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.026139089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.028503063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.028550743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.031097607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.031140177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.035772034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.035888874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.042270554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.042319384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.047670712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.047725092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.05977894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.059831861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.070749867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.076748996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.076805726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.079964321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.080012351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.083458057Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"2f97dc39-fa57-43d9-960f-cb8e2df1000c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.083515967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.083683277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.084424718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.088907655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.089095605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":4,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.089199025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.089226415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.089669666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.090285717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.090323107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.094959714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.094985394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.095680815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.095719005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.095744615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.096491337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.09841732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.098443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.099466771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.099500541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.099558931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":4,"elapsed":"10.440736ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.102475076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.102508266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.110997069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.111146189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.11192543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.115113735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.115163665Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.117657599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.117705759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.120158723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.120194023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.12501337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.12506717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.127461184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.127502704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.129575177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:565","component":"oximeter"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.130380008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.130915839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.130954939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.134068344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"ded63b52-e649-4cb7-96d1-bf1c25a7b2d8","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.134104454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"ded63b52-e649-4cb7-96d1-bf1c25a7b2d8","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.134258734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"ded63b52-e649-4cb7-96d1-bf1c25a7b2d8","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.134289654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"ded63b52-e649-4cb7-96d1-bf1c25a7b2d8","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.134780215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"ded63b52-e649-4cb7-96d1-bf1c25a7b2d8","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.13770403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"ded63b52-e649-4cb7-96d1-bf1c25a7b2d8","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":3678,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.13811079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ded63b52-e649-4cb7-96d1-bf1c25a7b2d8\", \"content-length\": \"405\", \"date\": \"Wed, 10 Jun 2026 21:34:56 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.138391911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:56.138981772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_0\"","result":"failure","saga_name":"instance-start","saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139037202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139060932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"41011a91-32b0-41e7-8546-ad85bb9f7de3","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 41011a91-32b0-41e7-8546-ad85bb9f7de3, saga_log: SagaLog { saga_id: 41011a91-32b0-41e7-8546-ad85bb9f7de3, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 succeeded, N014 started, N014 succeeded, N013 started, N013 succeeded, N012 started, N012 succeeded, N011 started, N011 succeeded, N010 started, N010 succeeded, N009 started, N009 succeeded, N008 started, N008 succeeded, N007 started, N007 succeeded, N006 started, N006 failed, N017 undo_started, N017 undo_finished, N007 undo_started, N007 undo_finished, N008 undo_started, N008 undo_finished, N009 undo_started, N009 undo_finished, N010 undo_started, N010 undo_finished, N011 undo_started, N011 undo_finished, N012 undo_started, N012 undo_finished, N013 undo_started, N013 undo_finished, N014 undo_started, N014 undo_finished, N015 undo_started, N015 undo_finished, N016 undo_started, N016 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: Failed(InjectedError), 7: UndoFinished, 8: UndoFinished, 9: UndoFinished, 10: UndoFinished, 11: UndoFinished, 12: UndoFinished, 13: UndoFinished, 14: UndoFinished, 15: UndoFinished, 16: UndoFinished, 17: UndoFinished, 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"ensure_local_storage_0\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139272412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139292082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139305022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139316212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139331422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139344762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139355672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139366642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139378312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139415812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139454972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139466852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139479372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139492172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139517112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139528082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139538672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139549502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139565482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139576582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139588912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139601013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139615673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139628903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139640423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139655653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139669733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139807793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139836063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139852293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139866193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139879023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139892643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139909853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139922933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139936193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139950213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139962773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139976253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.139990503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140003563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140017773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140031983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140044483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140055643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140068513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140081023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140094143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140106963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140121073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140133423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140144753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140157303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140185793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140202913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140214883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140228353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140242553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140253933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140268404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140282914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140295444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140308974Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140324254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140337744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140349794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140369584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140382024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140392934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140406714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140418674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140440284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140451054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140461844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140473444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140484584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.140508124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.154273925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.154310835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.154807176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.155365987Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"aabc6b42-70a3-4cbe-8f6d-6a3d692f3445","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.155426087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"aabc6b42-70a3-4cbe-8f6d-6a3d692f3445","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.155603617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"aabc6b42-70a3-4cbe-8f6d-6a3d692f3445","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.155657897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"aabc6b42-70a3-4cbe-8f6d-6a3d692f3445","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.155963808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"aabc6b42-70a3-4cbe-8f6d-6a3d692f3445","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.156715919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.156759569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.156867529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.15758629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.15762635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.158658822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"aabc6b42-70a3-4cbe-8f6d-6a3d692f3445","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":3308,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.158961912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"aabc6b42-70a3-4cbe-8f6d-6a3d692f3445\", \"content-length\": \"29\", \"date\": \"Wed, 10 Jun 2026 21:34:56 GMT\"} })"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.159033112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.159055122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de"} {"msg":"refreshed list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.159093462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:640","component":"oximeter","n_current_tasks":2,"n_pruned_tasks":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.159185342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.159205062Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.159563953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.160495844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.161068265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.162200317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.162220437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.162561628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.163109568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.163149969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.16399345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.16402439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.16404368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.16406198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.16438948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.165337702Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.165492542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.166877224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.166925384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.166943554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.167374425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.169580538Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.169623738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.169641818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.170090919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.172480653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.17716575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.17722638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.17724186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.17726725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.1772855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.17730239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.177539561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.180362565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.180473275Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.180496785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.180873056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.185781523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.185844903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.185863043Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.186514844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.188896598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.19712401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.197165981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.197182111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.197481411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.201452457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(6)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.205940524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(6)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214514687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214541507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214677887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214704947Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214716287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214727877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214740767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214751957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214763507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214774487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214785987Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214797587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214810447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214821478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214832108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214842748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214853158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214867378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214879468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214890088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.214900558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215073388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215105098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215118268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215133708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215145608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215157288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215430938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215451018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215465378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215479239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215494519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215510849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215527379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215540639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215554169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215567949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215581709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215593139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215605729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215619079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215634069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215648559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215661509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215688819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215705479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215719199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215732289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215747139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215760459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215775409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215788879Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215803909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215817259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215830309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215842249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215855369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215869339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215881969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215895849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215908369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215919529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215934449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215946209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215957919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215972239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215984799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.215997389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.216008699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.216022019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.216035719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.216053159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.216065929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.216078929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.216094179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.216109649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.216126169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.23599519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.23603292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.236517861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.238383064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.238426414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.239462905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.243725762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.243781772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.244518223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.246535386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.246598166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.246618896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.246635706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.247543258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.250708372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.250809683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.250851223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.251320473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.255354689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.25550012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.25555218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.256363491Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:56.260629158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.260683718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.265735685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.265811315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.265838195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.265856416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.265872376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.266447256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.267814099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.267850909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.26890247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.270161852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.270189082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.270207132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.270227152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.270247022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.270265612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.270793283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.275196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.27523812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.27525676Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.275904681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.279575497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.289759022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.289806792Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.289823732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.290170953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.293148387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(6)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(7)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.298230005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"EnsureLocalStorage_1","node_name":"ensure_local_storage_1"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.298275895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.298295915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.298537055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":6,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.298727206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.301936161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(7)","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.302001091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.302022911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.302042671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.302061001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.305841467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.305888477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.308606811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.308651221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.310921714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.310948044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"378adcae-7cf7-46eb-a4e0-6dfa33097c17\"))","node_id":"0","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.313944759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.313989869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.316587993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"378adcae-7cf7-46eb-a4e0-6dfa33097c17","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.316638503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.316661823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.317048434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.320481679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"378adcae-7cf7-46eb-a4e0-6dfa33097c17","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.326078118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"378adcae-7cf7-46eb-a4e0-6dfa33097c17","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.326110518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"378adcae-7cf7-46eb-a4e0-6dfa33097c17","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.326132798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"378adcae-7cf7-46eb-a4e0-6dfa33097c17","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.326151518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"378adcae-7cf7-46eb-a4e0-6dfa33097c17","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.332269167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"378adcae-7cf7-46eb-a4e0-6dfa33097c17","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.332485317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.332510677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.335427372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.335450402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.340313379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.340359639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.34065425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.343359944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.343405764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:4\"))","node_id":"2","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.346013408Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.346043758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.350515955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.350573945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.350947996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.353407219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.353456289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.353480939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.35350133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.35384828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.355587433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.358544517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.358710937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.358745188Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.358826828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.391434288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.391490488Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"378adcae-7cf7-46eb-a4e0-6dfa33097c17\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:4/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:34:56.358503Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:56.358503Z\")})","node_id":"3","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.398122018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.398181318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.400664072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"378adcae-7cf7-46eb-a4e0-6dfa33097c17","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.400720892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.400750432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.401133822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.403077485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.403132555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.403440096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.405474639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.405643359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.40645786Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.408451724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.408527294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.408557304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.408583114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.408910294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.411300438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.411359258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.411388078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.411954459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.416273955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.416314626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.416343306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.416853516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.421652554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.427031062Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.427085682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.427120282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.427145842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.427169972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.427410733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.429590316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.429636406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.429660256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.430071267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.43240111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.43244449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.43246952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.432904201Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.436955057Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.441453334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.441529644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.441555514Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.442175965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.448159934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.448199404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"378adcae-7cf7-46eb-a4e0-6dfa33097c17\"), \"state_generation\": Number(7), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.452548371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.452580221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.454588154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.454675564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.455011045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.456769077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.456819257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.457158198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.45870454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.458794941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.459104851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.460558353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.460609643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.460639033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.460662833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.460958144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.463272587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.463338117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.463367387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.463756668Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.466268612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.466319662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.466347762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.466665613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.472106991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.476954778Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.477036858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.477065998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.477294039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.478607661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.478679961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.478710041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.478736531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.479042871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.481785546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.481865826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.481905296Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.482720857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.489425057Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.489522227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.489562478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.490090048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.493802794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.501588346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.503785449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.503827589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.507779875Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.507831695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.51090888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.51094375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.513499214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.513546954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.516338308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.516394309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.518782692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.518865462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.521215876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.521259276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.52387235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.52390836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.527005465Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.527075915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.542230508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.542277748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.545470513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.545510543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.547518576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.547564786Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.5502188Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.55026374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.552740104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.552783954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.554891197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.554938957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.55669648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.55686134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.558672033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.558722333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.560941827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.560966017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.56317057Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.56322105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.564873593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.564905853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.56988552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.56993216Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.572160554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.572219724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.579149115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.579197355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"7","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.583765262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.583813422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.587416597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.587462147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.591406853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.591455273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.594981939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.595038219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.597616143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.597667193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.599692676Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.599738166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.60221118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.60224613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.606646877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.606709327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.60911345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.60916085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.616072561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.616127261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.621220689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.621278539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.624420924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.624470124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.626659107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.626711487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.629838122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.629890452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.632376276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.632426126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.635532351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.635584471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.637985274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.638070085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.640559808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.640596068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.643161632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.643227602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.645822456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.645868637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.64822102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.64825723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.650773194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.650820244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.653043787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.653094598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.655884572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.655934942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.658883486Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.658932326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.662067891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.662117571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.664220335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.664252365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.666526298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.666559368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.668869492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.672950148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.672978078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.675519212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.675560222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.677905625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"378adcae-7cf7-46eb-a4e0-6dfa33097c17","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.677960266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.677989316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.678412556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.681921712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.682003362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":5,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.682055992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.682082142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.682431102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.683063473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.685651837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.688623322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.688678502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.689356653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.689398253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.689422343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.689964574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.691846927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.691889317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.694397711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.694446331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.696606094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.696656144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.697210925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.704992487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.705042077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.707565421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.707616261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.710052635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.710105285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.712693019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.712755759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.715343463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.715396163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.718337147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.718392337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:56.722281563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_1\"","result":"failure","saga_name":"instance-start","saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.722436094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.722534244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21549e69-2f54-41eb-9938-b3c7854ce544","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 21549e69-2f54-41eb-9938-b3c7854ce544, saga_log: SagaLog { saga_id: 21549e69-2f54-41eb-9938-b3c7854ce544, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 succeeded, N014 started, N014 succeeded, N013 started, N013 succeeded, N012 started, N012 succeeded, N011 started, N011 succeeded, N010 started, N010 succeeded, N009 started, N009 succeeded, N008 started, N008 succeeded, N007 started, N007 failed, N006 started, N006 succeeded, N017 undo_started, N017 undo_finished, N006 undo_started, N006 undo_finished, N008 undo_started, N008 undo_finished, N009 undo_started, N009 undo_finished, N010 undo_started, N010 undo_finished, N011 undo_started, N011 undo_finished, N012 undo_started, N012 undo_finished, N013 undo_started, N013 undo_finished, N014 undo_started, N014 undo_finished, N015 undo_started, N015 undo_finished, N016 undo_started, N016 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: Failed(InjectedError), 8: UndoFinished, 9: UndoFinished, 10: UndoFinished, 11: UndoFinished, 12: UndoFinished, 13: UndoFinished, 14: UndoFinished, 15: UndoFinished, 16: UndoFinished, 17: UndoFinished, 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"ensure_local_storage_1\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.722787554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.722834004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.722848694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.722861704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.722874194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.722887244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.722900044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.722914544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.722928064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.722942924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.722955024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723013864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723028364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723040484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723052395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723065535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723078855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723090595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723102595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723114845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723127835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723140945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723153225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723165445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723178235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723190695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723217875Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723229885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723244005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723257305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723269315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723281045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723292905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723307605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723320305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723333835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723349495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723361305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723388965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723403355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723418755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723432005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723445155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723457355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723469165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723481095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723492565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723504695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723516285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723527755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723539575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723551545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723563375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723577255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723589255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723600625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723612025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723623695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723635355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723646895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723658385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723669965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723683355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723694925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723706386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723719806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723732746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723745666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723756916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723769536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723781996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723794066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723805536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723816986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723828166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723841326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.723855006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.735926314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.735979954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.738403968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.740894682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.740940482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.741400273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.743952756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.743978657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.744613207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.74638255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.746645601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.746706451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.746726381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.746970301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.749103174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.749157084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.749199154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.749663235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.751800508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.751848699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.751867629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.75261379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.755171553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.761552623Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.761608333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.761624323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.761648213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.761666683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.761686423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.761926333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.764639277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.764702597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.764724307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.765163028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.767670682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.767721462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.767739622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.768138733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.772381039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.777029146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.777084486Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.777103826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.777310047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.777903618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.777944568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Inventory","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.777966638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.777989258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.778009208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.778297008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.780656692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(8)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.784636348Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(8)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.785120549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.788610584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Inventory","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.788668734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.788690204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.789447685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.790387367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":4,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.790440987Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.790556547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.790608687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.790630837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.791085878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.792232829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.79228743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.79245155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":5,"elapsed":"110.435178ms"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.79264407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"NoCollections\"","iteration":2,"elapsed":"14.764433ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.793374791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.799588051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.799636361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.799656571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.799895581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"reconfigurator config load complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.802625875Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","switches":"Loaded(ReconfiguratorConfigView { version: 1, config: ReconfiguratorConfig { planner_enabled: false, planner_config: PlannerConfig, tuf_repo_pruner_enabled: true }, time_modified: 2026-06-10T21:34:41.697639Z })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.802660245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"config_updated\":false}","iteration":4,"elapsed":"12.277678ms"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.804866259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.804894939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.804908509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.804921289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.804936339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.804951179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.804962989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.804975559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.804988529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805018239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805036469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805049219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805062579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805075599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805088309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805101109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805114749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805128129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805141069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805153549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805166109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805179539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805192119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805213459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805226919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805239259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805253199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805335019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805349219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805362299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80537657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80543033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.8054545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80547167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80548468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80549705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80556148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80557672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80562767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80564226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80565483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80566776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80568116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80569665Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80571027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80572585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80574133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80575415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.805766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80577878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80579278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80580515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80582089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.8058455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80585909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80587183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80588542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80589911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80591151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80592656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80593943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80595185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80596445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80597705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80598962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.80600222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.8060154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.806028091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.806040991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.806053651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.806066111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.806078511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.806090711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.806107891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.806119461Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.806132131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.806143691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.822504326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.822551566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.823815328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.826287281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.826333252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.827110443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.828877805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.828919856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.829296396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.831461549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.831490649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.831510009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.831527099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.83211928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.835061115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.835105165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.835122865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.835514086Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.83821308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.8382753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.83829563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.838822181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.841297484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.847521444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.847577024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.847601554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.847623274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.847639644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.847887095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.850100758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.850148588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.850173258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.850458978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.852751272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.852809332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.852828342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.853243573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.855910687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.861216385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.861267595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.861296465Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.861540685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.862113636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.862170556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.862192346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.862213966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.862235186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.862694637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.863191508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.863225568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.863245928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.863458048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.86456454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.86461097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.86463269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.86465142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.865222111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.866109602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.869291637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.869347367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.869368887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.869466017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.870241329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(8)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(8)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.873278273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"EnsureLocalStorage_2","node_name":"ensure_local_storage_2"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.873320593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.873340113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.873552134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":8,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.873707344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.874444325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.876164858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.876337398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"NoSitrep\"","iteration":2,"elapsed":"14.199512ms"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.878450791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(8)","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.878488211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.878505761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.878540451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.878556821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.880818245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.880857885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.883321829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.883356809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.885845693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.885875653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"94c23f0a-6805-4963-b2a5-1cff0a39f9ec\"))","node_id":"0","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.889386068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.889416008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sitrep GC completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.890109139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","child_tables":"{CaseEreport: ChildTableGcStats { rows_deleted: 0, batches: 1 }, AlertRequest: ChildTableGcStats { rows_deleted: 0, batches: 1 }, SupportBundleRequestDataSelectionFlags: ChildTableGcStats { rows_deleted: 0, batches: 1 }, SupportBundleRequestDataSelectionHostInfo: ChildTableGcStats { rows_deleted: 0, batches: 1 }, SupportBundleRequestDataSelectionEreports: ChildTableGcStats { rows_deleted: 0, batches: 1 }, SupportBundleRequest: ChildTableGcStats { rows_deleted: 0, batches: 1 }, Case: ChildTableGcStats { rows_deleted: 0, batches: 1 }}","sitreps_deleted":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.890248339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"batch_size\":1000,\"child_tables\":{\"fm_alert_request\":{\"batches\":1,\"rows_deleted\":0},\"fm_case\":{\"batches\":1,\"rows_deleted\":0},\"fm_ereport_in_case\":{\"batches\":1,\"rows_deleted\":0},\"fm_support_bundle_request\":{\"batches\":1,\"rows_deleted\":0},\"fm_support_bundle_request_data_selection_ereports\":{\"batches\":1,\"rows_deleted\":0},\"fm_support_bundle_request_data_selection_flags\":{\"batches\":1,\"rows_deleted\":0},\"fm_support_bundle_request_data_selection_host_info\":{\"batches\":1,\"rows_deleted\":0}},\"errors\":[],\"orphaned_sitreps_deleted\":0,\"sitrep_metadata_batches\":1}","iteration":2,"elapsed":"27.046721ms"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.891594401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"94c23f0a-6805-4963-b2a5-1cff0a39f9ec","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.891622621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.891644281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.892052412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.894734176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"94c23f0a-6805-4963-b2a5-1cff0a39f9ec","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.902330618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"94c23f0a-6805-4963-b2a5-1cff0a39f9ec","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.902386808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"94c23f0a-6805-4963-b2a5-1cff0a39f9ec","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.902410658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"94c23f0a-6805-4963-b2a5-1cff0a39f9ec","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.902429308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"94c23f0a-6805-4963-b2a5-1cff0a39f9ec","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.909139888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"94c23f0a-6805-4963-b2a5-1cff0a39f9ec","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.909526979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.909584309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.912374943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.912438503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.914972477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.915057137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.915598838Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.918666623Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.918708183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:5\"))","node_id":"2","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.921110396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.921146607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.923998281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.924076541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.924591572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.926915745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.926962045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.926984475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.927004175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.929560409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.932208723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.935431858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.935482558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.935512518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.935763129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.939442594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.939486265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"94c23f0a-6805-4963-b2a5-1cff0a39f9ec\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:5/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:34:56.935418Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:56.935418Z\")})","node_id":"3","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.94288824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.94294294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:56.945345684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"94c23f0a-6805-4963-b2a5-1cff0a39f9ec","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.945400094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.945431774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.948527498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.951151082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.951213802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.951783163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.954239087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.954304157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.956845041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.961555318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.961618998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.961647168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.961888679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.962046709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.964918053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.965291874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.965323664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.965864925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.96916405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.96922141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.96924988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.96950925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.972394705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.977099822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.977168412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.977237832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.977265902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.977290852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.977647943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.981598989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.981668699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.981698729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.98233292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.984949634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.984998394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.985027134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.988345909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.993085896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.998695945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:56.998795735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.998821135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:56.999027256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.006540587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.006594527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"94c23f0a-6805-4963-b2a5-1cff0a39f9ec\"), \"state_generation\": Number(9), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.010207883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.010260133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.013268307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.013336297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.013877798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.016294932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.016351382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.016880353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.018965086Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.019020836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.019401997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.02147114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.02155683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.02158755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.02161658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.021897251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.024406714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.024461304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.024489765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.025048095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.030099113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.030138463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.030169383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.030578944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.035019941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.040542339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.040624349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.040651059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.04088347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.042326042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.042389882Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.042421162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.042462532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.042694202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.049516633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.049561673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.049589873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.049920413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.05404211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.05410896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.05413825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.054726761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.062894023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.068095191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.069718334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.069847204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.072927359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.072973809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.078104626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.078151757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.080988641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.081025461Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.084157406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.084215166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.086251869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.086305679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.088591333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.088635773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.091154096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.091185526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.094927392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.094988422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.097140236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.097200726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.099475209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.099497889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.102222163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.102265343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.104845407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.104892307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.106883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.106922241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.114471562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.114522852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.116635585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.116695615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.122534954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.122601805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.12606931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.12612344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.128562374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.128608834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.131953079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.132001409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.134251542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.134305232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"8","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.136905716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.136951526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.140540122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.140573272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.143316016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.143372446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.146341861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.146401441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.149265635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.149302315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.15241309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.1524471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.155223784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.155271204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.157763998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.157821718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.158124309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.158161419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.15891143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.159721351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.159779651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.161349594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.161404644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.162864666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.164133318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.166064451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.166113931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.167301153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.167347893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.168696685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.168741345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.169736447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.169784697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.171037279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.171075189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.173357692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.173385782Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.176001536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.176070386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.178999471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.179024221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.181109034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.181152024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.186236532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.186270292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.189968447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.190060458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.192993432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.193055102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.196094177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.196133357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.198553041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.198711301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.201542755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.201586335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.20436122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.20440619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.207863475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.207915085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.210492989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.210521199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.213436873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.213482053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.216223128Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.216273328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.221021525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.221070405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.223166358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.223203018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.226050493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.226084353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.229687998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.234211535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.234247055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.23716642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.23719156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.239903064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"94c23f0a-6805-4963-b2a5-1cff0a39f9ec","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.239943634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.240002494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.240388065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.24406887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.2442107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":6,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.244259631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.244286921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.244772321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.245407152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.245436892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.248644027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.248694757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.248718197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.249181338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.249691199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.249717199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.252923814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.252999164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.255581868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.255637858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.255657328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":6,"elapsed":"9.736985ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.260460025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.260492255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:57.262743369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.264695742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.264769532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.265411903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.267883457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.267931427Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.268354577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.268407557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.271119762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.271690942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.271736053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.271755093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.271907913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.271929273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.274386357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.274439247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.276996111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.277048731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.279175664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.279271994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.281123187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.281172667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:57.284601862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_2\"","result":"failure","saga_name":"instance-start","saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.284711592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.284803302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"75ef869f-10e9-4763-8420-aee046c5cf9a","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 75ef869f-10e9-4763-8420-aee046c5cf9a, saga_log: SagaLog { saga_id: 75ef869f-10e9-4763-8420-aee046c5cf9a, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 succeeded, N014 started, N014 succeeded, N013 started, N013 succeeded, N012 started, N012 succeeded, N011 started, N011 succeeded, N010 started, N010 succeeded, N009 started, N009 succeeded, N008 started, N008 failed, N007 started, N007 succeeded, N009 undo_started, N009 undo_finished, N010 undo_started, N010 undo_finished, N007 undo_started, N007 undo_finished, N011 undo_started, N011 undo_finished, N012 undo_started, N012 undo_finished, N013 undo_started, N013 undo_finished, N014 undo_started, N014 undo_finished, N015 undo_started, N015 undo_finished, N016 undo_started, N016 undo_finished, N017 undo_started, N017 undo_finished, N006 started, N006 succeeded, N006 undo_started, N006 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: Failed(InjectedError), 9: UndoFinished, 10: UndoFinished, 11: UndoFinished, 12: UndoFinished, 13: UndoFinished, 14: UndoFinished, 15: UndoFinished, 16: UndoFinished, 17: UndoFinished, 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"ensure_local_storage_2\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285177133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285240713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285261153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285273263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285285973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285298673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285310423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285326723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285339483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285351753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285364173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285380493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285401513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285414443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285425433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285436083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285449753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285461933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285473184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285486284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285504454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285516854Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285528494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285541764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285553124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285597814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285616564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285629964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285642144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285655014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285666534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285701194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285714934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285732654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285745844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285757864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285770834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285784524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285796824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285811584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285824844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285837264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285854954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285867094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285882674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285894584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285907084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285920284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285930984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285942834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285960494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285973404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285986024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.285999174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286011254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286022144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286032784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286043354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286055084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286075264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286086814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286119474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286131695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286147745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286165625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286180465Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286192785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286210205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286223345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286236035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286248665Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286315335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286345965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286359065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286370235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286381335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.286392795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.305949115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.306047155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.306545546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.311269343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.311308573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.311730674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.313247666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.313287256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.313552946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.315002419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.315027409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.315043049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.315079679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.315435149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.317608893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.317641383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.317659603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.318350014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.321254468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.321277308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.321294168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.321781089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.324076883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.3288791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.32891452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.32892725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.32894834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.32896411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.32897839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.32920172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.331680214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.331716594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.331734384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.332125865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.334466428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.334496358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.334515218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.335014989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.337248083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.34209598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.34215133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.34217566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.342381541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.344555704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(10)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.346866817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(10)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354484059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354544089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354558159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354574369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354589149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354605539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354619089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354629969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354640859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354655529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354669839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354682009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354693229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354705429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354716849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354727729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354739019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354751909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354764929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354779709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.354792859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35480583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35484597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35485986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35487618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35489105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35490675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35492262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35493539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35495079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35496382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35497836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35499299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35500654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35502036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35503242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35504565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35505891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35507206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.3550844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35509784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35511236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35512523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35513923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35515131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35516276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35517322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35518554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35521436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35522926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35524185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35525524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35526769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35527975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.3552903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35530132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35531307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35532507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35533806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35535018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35536062Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35538438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35539675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35542514Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35543896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.35544984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.355460551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.355472561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.355484911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.355498141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.355511351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.355523471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.355534371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.355545811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.355557681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.355582781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.355595301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.369630492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.369684412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.370063973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.372188716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.372231626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.372558127Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.374082049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.374136349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.374379049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.375949932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.376001262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.376051962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.376099442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.376500913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.378880246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.378925056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.378943366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.379379117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.381690901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.381736781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.381778101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.382185791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.384364605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.389064062Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.389123902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.389147862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.389166592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.389182952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.389429122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.391313995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.391350485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.391368345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.391644906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.393404909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.393435499Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.393453329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.393776359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.395621232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.400209289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.400264009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.400284149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.400470739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.402679923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(10)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(9)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.405299747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"EnsureLocalStorage_3","node_name":"ensure_local_storage_3"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.405392257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.405416677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.405650757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":10,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.405883198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.410652445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(9)","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.410686845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.410705355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.410764445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.410783615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.413152209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.413206459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.415721993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.415776943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.417879016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.418056906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"c27dcdd8-d435-49c5-b8fb-224da45ba15c\"))","node_id":"0","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.419766179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.419813459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.422461863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c27dcdd8-d435-49c5-b8fb-224da45ba15c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.422500763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.422528143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.422947954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.425720348Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c27dcdd8-d435-49c5-b8fb-224da45ba15c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.434868682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c27dcdd8-d435-49c5-b8fb-224da45ba15c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.434945102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c27dcdd8-d435-49c5-b8fb-224da45ba15c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.434967152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c27dcdd8-d435-49c5-b8fb-224da45ba15c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.434987322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c27dcdd8-d435-49c5-b8fb-224da45ba15c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.4400887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c27dcdd8-d435-49c5-b8fb-224da45ba15c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.44022073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.44024446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.442609094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.442672764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.445119798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.445188648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.445604638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.448185782Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.448233412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:6\"))","node_id":"2","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.450338156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.450391346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.452717169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.452765439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.45317308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.455165553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.455221863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.455245873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.455265663Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.455713184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.461026432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.465370689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.465432109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.465465269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.465636139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.468652754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.468685494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"c27dcdd8-d435-49c5-b8fb-224da45ba15c\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:6/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:34:57.465329Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:57.465329Z\")})","node_id":"3","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.471150037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.471204237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.473422021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"c27dcdd8-d435-49c5-b8fb-224da45ba15c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.473478861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.473509811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.473933142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.478095678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.478149998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.478584299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.480262901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.480313591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.480769042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.483474366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.483552946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.483584356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.483611186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.484069747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.486733321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.486792511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.486819541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.487518382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.489976556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.490042936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.490084126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.490581847Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.49273667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.496890517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.496944137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.496981127Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.497013407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.497040877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.497249327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.499357091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.499398681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.499428181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.499851711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.502375265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.502432345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.502469285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.502617795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.50557155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.51193914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.51202162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.51205006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.51224901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.519153891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.519192581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"c27dcdd8-d435-49c5-b8fb-224da45ba15c\"), \"state_generation\": Number(11), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.522229535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.522283956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.524282719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.524348309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.52498611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.528126234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.528186845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.528950366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.530871539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.530930529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.531376739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.535486246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.535592456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.535621046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.535645936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.539497662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.546194082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.546260602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.546360282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.548071195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.552812472Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.552880332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.552908092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.553883574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.559228082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.568374516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.568470086Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.568498776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.568703067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.57067831Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.57079126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.57084606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.57087421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.57111526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.578432821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.578502252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.578605392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.579137032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.583344949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.583474919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.583523129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.58389608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.586594244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.594456066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.598022671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.598077421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.600611435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.600662555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.603059459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.603115249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.605655713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.605700973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.608302067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.608353457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.610674181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.610720871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.613035524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.613078604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.617308661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.617544181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.621862048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.621919248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.625509643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.625562553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.62965082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.62970504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.632314334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.632367124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.635366418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.635474019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.638289813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.638372803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.641205357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.641253237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.646323355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.648163608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.651358403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.651402413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.654353237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.654404358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.656819091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.656868351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"9","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.659316975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.659355805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.66237391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.66241425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.665607585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.665660015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.670057991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.670172012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.672941366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.672988096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.678112164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.678167194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.680623678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.680679768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.682849661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.682883551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.685081184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.685148135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.687183548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.687234028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.690200232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.690247182Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.692225105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.692274005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.694678849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.694723259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.696750492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.696795902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.698700945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.698728365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.700917969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.700942959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.703090612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.703146372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.705308385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.705354145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.707217888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.707268078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.709053411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.709080931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.711208244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.711237344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.71504448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.71509138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.717297694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.717325874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.719842928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.719880088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.722331501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.722373981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.725022266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.725063286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.72791795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.72796429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.731451225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.731485965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.73440708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.73445626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.736618193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.736647583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.738346826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.738396476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.74078974Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.74082035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.749744493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.760530469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.760592909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.769271602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.769485193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.773429009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"c27dcdd8-d435-49c5-b8fb-224da45ba15c","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.773529819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.773581199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.77440105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.779073197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.779224758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":7,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.779310468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.779361548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.779865559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.781603431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.781649021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.784715126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.784772286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.784795326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.785337717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.786674169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.786731769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.791273796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.791303666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.792155747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.792198047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.792432408Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":7,"elapsed":"13.15603ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.79408176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.79410563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.796505734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.796531264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.797055805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.799592969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.799631229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.802225943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.802280823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.804995837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.805202927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.808007562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.808051922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.810078485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.810132895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.812828329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81343077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:57.818770738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_3\"","result":"failure","saga_name":"instance-start","saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.818852008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.818944218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a2e166fe-f34e-42d6-b846-64eab549c24b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: a2e166fe-f34e-42d6-b846-64eab549c24b, saga_log: SagaLog { saga_id: a2e166fe-f34e-42d6-b846-64eab549c24b, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 succeeded, N014 started, N014 succeeded, N013 started, N013 succeeded, N012 started, N012 succeeded, N011 started, N011 succeeded, N010 started, N010 succeeded, N009 started, N009 failed, N008 started, N008 succeeded, N007 started, N007 succeeded, N008 undo_started, N008 undo_finished, N010 undo_started, N010 undo_finished, N007 undo_started, N007 undo_finished, N011 undo_started, N011 undo_finished, N012 undo_started, N012 undo_finished, N013 undo_started, N013 undo_finished, N014 undo_started, N014 undo_finished, N015 undo_started, N015 undo_finished, N016 undo_started, N016 undo_finished, N017 undo_started, N017 undo_finished, N006 started, N006 succeeded, N006 undo_started, N006 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: UndoFinished, 9: Failed(InjectedError), 10: UndoFinished, 11: UndoFinished, 12: UndoFinished, 13: UndoFinished, 14: UndoFinished, 15: UndoFinished, 16: UndoFinished, 17: UndoFinished, 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"ensure_local_storage_3\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819214259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819236599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819252069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819265019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819276699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819288739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819300159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819311739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819324059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819337649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819349059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819360229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819371859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819383569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819395239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819406859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819626039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819645619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819659579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819673119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819685679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819697289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819711659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819724099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819737699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81975243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81976508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81977709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.819791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81980417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81981556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81982715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81983957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81985242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81986419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81990187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81991473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81992587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81993734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81994936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81996371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81997632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81998784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.81999957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82001157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82002467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82003653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82004995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82006243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82007358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82008535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82009901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82011143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82012466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82013812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82014966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.8201608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82017378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.8201867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82019936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.8202109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82022253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82023468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82024849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82026136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82028593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82029733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82031336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.820326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82033721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82035314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82036618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.8203777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82038956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.82040109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.820415451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.820428851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.8329116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.83296655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.83347256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.835655434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.835817174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.836159555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.838136948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.838177838Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.838510808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.840432821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.840494121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.840515611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.840534321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.843739686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.84649583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.84654619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.84656832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.847168231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.849814925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.849842016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.849860096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.850333246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.85288906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.863920017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.863980777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.863996287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.864019157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.864036427Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.864053017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.864583178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.867356912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.867401342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.867419942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.867957603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.873677332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.873729042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.873747542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.874224373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.877088737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.886270271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.886332851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.886352221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.886996952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.890005937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(12)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.895087845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(12)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.904680449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.904728119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.904741649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.904756249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.904769479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90478358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90479769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90481013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90482321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90483673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90485279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90486698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90488354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90489689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90492854Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90498068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90500725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90502228Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90503629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90504882Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90517359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90518624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90519922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90524646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.9052592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90527169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90528373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90529696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.9053086Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90532039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90533195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90534323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90535524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90536739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90537905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90539054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90541217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90542377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.90543698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905448911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905460991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905472521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905484581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905497521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905510121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905521581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905533201Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905551211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905563161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905576681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905590251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905602881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905616011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905628821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905640471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905653011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905666821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905683561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905701151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905712501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905756301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905782261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905798151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905812391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905833831Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905852591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905866141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905880501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905914791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905929361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905942351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905954331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905967021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905980241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.905993801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.906011411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.906023081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.930119658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.933093113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.933868424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.936385218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.936434858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.937404759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.940486394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.940512814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.941131585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.94416297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.94426145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.94428587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.94430749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.945428012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.948507126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.948554346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.948572576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.949044397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.951646711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.951692091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.951708541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.952092052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.954750756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.962326087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.962380888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.962403508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.962420898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.962438638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.962762058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.965810963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.965847933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.965865393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.966408984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.974088285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.974130696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.974149996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.975428788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.981286906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.988018477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:57.988075167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.988094967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:57.988565678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.992131203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(12)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(10)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.995294478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"EnsureLocalStorage_4","node_name":"ensure_local_storage_4"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.995362368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.995386138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.995627418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":12,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:57.995893869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.000771256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(10)","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.000820706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.000841036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.000924016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.000967517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.003632851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.003679111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.007903267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.007939457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.011024122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.011075942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"c8bc5494-22d4-4db8-bccb-f5274bdb385f\"))","node_id":"0","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.013633606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.013674836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.017103671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c8bc5494-22d4-4db8-bccb-f5274bdb385f","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.017158131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.017182961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.019664345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.02305469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c8bc5494-22d4-4db8-bccb-f5274bdb385f","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.02907991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c8bc5494-22d4-4db8-bccb-f5274bdb385f","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.02914247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c8bc5494-22d4-4db8-bccb-f5274bdb385f","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.0291629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c8bc5494-22d4-4db8-bccb-f5274bdb385f","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.02918261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c8bc5494-22d4-4db8-bccb-f5274bdb385f","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.034828898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c8bc5494-22d4-4db8-bccb-f5274bdb385f","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.034889438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.034911088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.037666173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.037702453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.045902065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.045966155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.046652306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.053843317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.053899997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:7\"))","node_id":"2","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.058549525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.058609745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.06237538Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.062430371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.062798761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.065481595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.065521985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.065554125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.065599875Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.066911297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.070046112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.074128278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.074404229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.074700509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.074730839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.079814657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.079897047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"c8bc5494-22d4-4db8-bccb-f5274bdb385f\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:7/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:34:58.073981Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:58.073981Z\")})","node_id":"3","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.084206434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.084387904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.08807835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"c8bc5494-22d4-4db8-bccb-f5274bdb385f","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.08824799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.08827922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.088668771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.091926136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.091979196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.092511347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.09467475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.09473049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.095272951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.097381684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.097640444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.097677854Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.097704254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.098095255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.102453972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.102562162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.102589862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.103212793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.106991599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.107049199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.107077679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.10802728Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.111397615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.116796554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.116850674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.116884834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.116926084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.116950394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.117424365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.120127179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.120169119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.120194669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.120561929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.123340774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.123406414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.123434154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.123853794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.126779219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.132155357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.132237217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.132265017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.133014948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.13426204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:565","component":"oximeter"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.134526771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.135612902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"db7576be-9b91-4287-8269-3271019ac1a1","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.135663962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"db7576be-9b91-4287-8269-3271019ac1a1","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.135841143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"db7576be-9b91-4287-8269-3271019ac1a1","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.135874603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"db7576be-9b91-4287-8269-3271019ac1a1","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.136471644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"db7576be-9b91-4287-8269-3271019ac1a1","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.141727242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"db7576be-9b91-4287-8269-3271019ac1a1","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":6126,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.142133542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"db7576be-9b91-4287-8269-3271019ac1a1\", \"content-length\": \"405\", \"date\": \"Wed, 10 Jun 2026 21:34:58 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.142279493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.142527443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"4106029a-045c-4bc7-845a-c9ed4a2c1f04","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.142557293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"4106029a-045c-4bc7-845a-c9ed4a2c1f04","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.142787723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"4106029a-045c-4bc7-845a-c9ed4a2c1f04","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.142847933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"4106029a-045c-4bc7-845a-c9ed4a2c1f04","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.143546005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"4106029a-045c-4bc7-845a-c9ed4a2c1f04","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.144502336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.144528726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"c8bc5494-22d4-4db8-bccb-f5274bdb385f\"), \"state_generation\": Number(13), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.146332199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"4106029a-045c-4bc7-845a-c9ed4a2c1f04","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":3789,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.146613729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"4106029a-045c-4bc7-845a-c9ed4a2c1f04\", \"content-length\": \"29\", \"date\": \"Wed, 10 Jun 2026 21:34:58 GMT\"} })"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.146729919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.146753829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de"} {"msg":"refreshed list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.146772179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:640","component":"oximeter","n_current_tasks":2,"n_pruned_tasks":0} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.14731552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.14734908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.150221285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.150261705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.150726026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.153017019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.153113149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.15360207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.155889853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.155968894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.156951975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.157778156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.157830536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.157949167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.158683018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.158727098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.16003768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.16013512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.16018093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.1602067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.16050728Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.161735742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.162416373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.163798995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.163851966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.163880996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.164283296Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.165228898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.165270828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.169419574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.169483244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.169679164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.169715935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.171395287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.172624269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.175171013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.180478491Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.180576001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.180602211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.180796541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.181837343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.181953623Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.181981863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.182007373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.182324644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.18653828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.18658076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.18660682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.18662842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.19259381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.19266256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.1926896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.19312616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.195956965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.201210353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.204465448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.204501368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.207946123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.207983523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.210798167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.210847517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.213169941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.213212361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.21915919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.21918814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.222625825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.222671116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.22536518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.22541019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.227793583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.227842493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.234959184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.235014504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.237230018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.237281398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.240093382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.240135862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.242851366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.242877546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.246121001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.246185941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.248948666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.249051386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.255070235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.255102415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.257836979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.257870909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:58.258887811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.260257993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.260290243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"10","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.263812968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.263848268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.268345675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.268399005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.269062686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.269094256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.27131017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.271870931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.271926441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.271947881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.272816372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.273157863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.275964227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.276000397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.278931582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.278974872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.282278197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.282326797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.285074761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.285106491Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.287316314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.287407674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.290107059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.290166339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.292445832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.292490052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.295787167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.295817257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.298126351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.298200081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.301863167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.301900767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.308826417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.308893527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.311703532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.311742492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.314673906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.314706136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.31749314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.317576871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.321574807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.321616577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.323219849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.323251189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.326430504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.326488764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.329501369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.329561259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.332341343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.332391083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.335543408Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.335594298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.339392374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.339452804Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.342502399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.342557249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.345192503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.345289673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.348255238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.348309768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.350675411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.350719301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.354117836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.354178797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.357065401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.357117411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.360840737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.360901817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.363943581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.363993542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.374082017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.374136247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.377846703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.377894733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.380591507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.384398413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.384451063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.387836028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.387874688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.390344002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"c8bc5494-22d4-4db8-bccb-f5274bdb385f","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.390396362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.390427392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.390789443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.398847365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.398908425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":8,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.398966685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.399030575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.399512496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.400171657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.400216047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.402667631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.402729191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.403222952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.403248732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.403272232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.403633482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.405573135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.405614275Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.406590307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.406668587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.406695007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":8,"elapsed":"7.565892ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.408060029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.408099059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.410052392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.410092852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.410863223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.413060967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.413164687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.415798171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.415844921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.419551037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.419636487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.4216616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.42171502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.423971463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.424023753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.426111177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.426202557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:58.430339983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_4\"","result":"failure","saga_name":"instance-start","saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.430602133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.430706214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"ddac25f7-6e48-454e-913c-d441a72b9ece","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: ddac25f7-6e48-454e-913c-d441a72b9ece, saga_log: SagaLog { saga_id: ddac25f7-6e48-454e-913c-d441a72b9ece, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 succeeded, N014 started, N014 succeeded, N013 started, N013 succeeded, N012 started, N012 succeeded, N011 started, N011 succeeded, N010 started, N010 failed, N009 started, N009 succeeded, N011 undo_started, N011 undo_finished, N012 undo_started, N012 undo_finished, N009 undo_started, N009 undo_finished, N013 undo_started, N013 undo_finished, N014 undo_started, N014 undo_finished, N015 undo_started, N015 undo_finished, N016 undo_started, N016 undo_finished, N017 undo_started, N017 undo_finished, N008 started, N008 succeeded, N007 started, N007 succeeded, N008 undo_started, N008 undo_finished, N006 started, N006 succeeded, N007 undo_started, N007 undo_finished, N006 undo_started, N006 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: UndoFinished, 9: UndoFinished, 10: Failed(InjectedError), 11: UndoFinished, 12: UndoFinished, 13: UndoFinished, 14: UndoFinished, 15: UndoFinished, 16: UndoFinished, 17: UndoFinished, 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"ensure_local_storage_4\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.430935624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.430974534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.430992514Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431007714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431020154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431032954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431045484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431059294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431073984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431090374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431106374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431120294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431133774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431150274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431167504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431183434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431200064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431214314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431228214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431243004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431265754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431281344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431306864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431321915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431337615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431354235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431368495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431384025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431397435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431419125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431432125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431448305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431461185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431476575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431490515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431506895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431519745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431534205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431548715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431562615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431577005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431592795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431606075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431619675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431633405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431647105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431663105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431676815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431690325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431705395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431721335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431733835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431747755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431762055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431776865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431794535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431807845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431820075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431833885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431848915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431862065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431875225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431888075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431902875Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431916195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431929425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431942795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.431957775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.432164506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.432202226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.432231006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.432247366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.432260936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.432275276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.432288896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.432302656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.432317926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.445016315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.445064606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.445574306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.44813985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.44818591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.448730971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.450376204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.450418404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.450808014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.452283757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.452334087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.452354807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.452370527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.452681227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.45480519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.45485892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.454877111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.455149161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.457836495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.457883035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.457902065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.458459466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.460669189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.465633477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.465683077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.465698287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.465720237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.465738647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.465754757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.465991788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.468442541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.468492801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.468511681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.468819802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.470949265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.470997215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.471014095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.471434056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.473564119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.48067791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.48071161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.48072767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.4809976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.483581724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(14)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.486011118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(14)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492482688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492514268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492531688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492547288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492561398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492576188Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492666658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492700568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492713388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492793278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492807389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492823589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492837209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492852839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492865819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492879899Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492895309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492908399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492932299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492946169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492961189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492975379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492987279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.492999579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493010659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493024899Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493037399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493051589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493062969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493078289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493091729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493104519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493119139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493134929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493147549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493162659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493175649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493186549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493199319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493212289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493224809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493237489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493250659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493267359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493281999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493295069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493308029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493323329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493337019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493353479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493366529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493379439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493392449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493405989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493416999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493429909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493442259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.493457939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49347067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49348547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49349777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49350938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49352044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49353193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49354264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49355542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49356759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49358075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.4935951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49360798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49362138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49363414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49364658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49365856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49367283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49368575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.49370197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.510785416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.510833666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.511270617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.51346913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.51355603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.514065631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.515712634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.515758094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.516318764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.517995357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.518029737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.518077017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.518096677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.518661478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.523182315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.523215645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.523231885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.523682926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.526090269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.526112699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.526128809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.52649664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.528906374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.533495941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.533561031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.533582221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.533598091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.533612211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.533774461Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.536082855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.536112615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.536128345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.536633146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.53929412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.53937956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.53939776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.53982522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.541830323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.548684784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.548746924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.548765184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.548992574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.551031958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(14)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(11)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.553411621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"EnsureLocalStorage_5","node_name":"ensure_local_storage_5"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.553452421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.553473591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.553718212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"18389d9a-2453-4446-af47-a842d5063429","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":14,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.553952302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"18389d9a-2453-4446-af47-a842d5063429"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.556625456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(11)","saga_id":"18389d9a-2453-4446-af47-a842d5063429"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.556670446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.556688636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"18389d9a-2453-4446-af47-a842d5063429","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.556706666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.556722826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.55895767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.55901027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.560988673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.561026473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.564014667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.564045327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"894ef3c6-3ef0-4e95-aabb-4e8c2ae0202e\"))","node_id":"0","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.568063634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.568104064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.570305367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"894ef3c6-3ef0-4e95-aabb-4e8c2ae0202e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.570344397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.570364507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.570768788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.575127144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"894ef3c6-3ef0-4e95-aabb-4e8c2ae0202e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.579760821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"894ef3c6-3ef0-4e95-aabb-4e8c2ae0202e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.579790611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"894ef3c6-3ef0-4e95-aabb-4e8c2ae0202e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.579808252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"894ef3c6-3ef0-4e95-aabb-4e8c2ae0202e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.579824992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"894ef3c6-3ef0-4e95-aabb-4e8c2ae0202e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.584887619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"894ef3c6-3ef0-4e95-aabb-4e8c2ae0202e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.58518673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.5852082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.587473763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.587509893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.589904187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.589956937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.590361548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.592980022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.593019022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:8\"))","node_id":"2","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.595695046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.595735056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.597821139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.597864149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.59859544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.600385173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.600437933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.600458883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.600476493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.600781844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.602523156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.606252492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.606305862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.606335892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.606610872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.609927308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.609956708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"894ef3c6-3ef0-4e95-aabb-4e8c2ae0202e\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:8/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:34:58.606212Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:58.606212Z\")})","node_id":"3","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.612426441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.612450241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.614962385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"894ef3c6-3ef0-4e95-aabb-4e8c2ae0202e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.615028575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.615059335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.615559746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.61834419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.618399251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.618984911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.620769424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.620842904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.621216155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.623210318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.623496108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.623549688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.623575958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.623974419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.626445973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.626513253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.626543753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.627088194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.629493607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.629555578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.629583248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.630369269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.632779013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.639290012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.639404833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.639445593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.639474453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.639514103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.639555793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.64451227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.644575611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.644601091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.645103031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.647853726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.647908566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.648088596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.648396376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.65108179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.655853698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.655926568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.655951778Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.656108898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.664206941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.664264091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"894ef3c6-3ef0-4e95-aabb-4e8c2ae0202e\"), \"state_generation\": Number(15), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.668386447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.668419457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.670990111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.671041001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.671472202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.673952545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.673989226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.674502676Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.676017909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.676084879Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.676360139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.677931712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.677978312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.678078412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.678112682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.678484682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.680591656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.680628826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.680654226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.680976476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.683013649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.683097519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.6831525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.68366813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.685480653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.69014428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.69021068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.69023453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.690445101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.691364842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.691432112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.691459102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.691482102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.691690663Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.693582655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.693638016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.693662306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.694083306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.69629669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.69648504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.69654584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.697036401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.699626095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.707597717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.70932999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.70937978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.712142594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.712187744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.714518277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.714602258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.717253672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.717289992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.720346916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.720496187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.724335602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.724381703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.72897415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.72901005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.732418715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.732445405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.735396749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.735440019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.737701713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.737800013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.740879358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.740932348Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.743074711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.743123641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.745858985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.745904115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.748241589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.748286579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.751145593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.751198404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"11","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.753575677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.753623697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.75583813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.75588021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.758088283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"18389d9a-2453-4446-af47-a842d5063429"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.758123113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.761743519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.761765379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.764081922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.764121092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.766315116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.766337946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.768205649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.768243709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.770530042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.770572142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.772565655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.772617935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.774519508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.774563248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.776222611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.776270581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.778020654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.778058674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.779617016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.779642506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.781446009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.781489479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.783068971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.783094621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.784956994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.785022434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.788175869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.788204479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.789926152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.789959412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.791571184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.791622134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.793241247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.793269357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.794877209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.79491565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.797219293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.797272193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.799360956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.799412186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.803640473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.803699043Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.805939006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.806057477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.80848204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.80852352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.810697934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.810744594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.812830167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.812927277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.81517066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.815210201Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.820298748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.820371318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.823197613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.823243993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.830862564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.830914785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.835571562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.835635812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.838170526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.838243076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.840629329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.84070693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.842824353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.842880203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.845010816Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.848179021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.848234141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.850275984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.850320634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.852897698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"894ef3c6-3ef0-4e95-aabb-4e8c2ae0202e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.852925468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.852952658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.853364009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.856408524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.856479474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":9,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.856530454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.856613934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.856906764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.857562475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.857607615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.866491469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.866532269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.866552949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.86704585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.867958881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.868005071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.869643264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.869733614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.869752224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":9,"elapsed":"13.22471ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.869859894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.869901834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.871530597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.871566297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.872876709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.872925879Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.873241919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.874791822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.874841662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.876333304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.876361524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.877967496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.877998807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.87996752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.8800086Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.881718992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.881761602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.883761255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"18389d9a-2453-4446-af47-a842d5063429"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.883854675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:58.890513156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_5\"","result":"failure","saga_name":"instance-start","saga_id":"18389d9a-2453-4446-af47-a842d5063429","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.890626226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"18389d9a-2453-4446-af47-a842d5063429","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.890702736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"18389d9a-2453-4446-af47-a842d5063429","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 18389d9a-2453-4446-af47-a842d5063429, saga_log: SagaLog { saga_id: 18389d9a-2453-4446-af47-a842d5063429, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 succeeded, N014 started, N014 succeeded, N013 started, N013 succeeded, N012 started, N012 succeeded, N011 started, N011 failed, N010 started, N010 succeeded, N009 started, N009 succeeded, N010 undo_started, N010 undo_finished, N012 undo_started, N012 undo_finished, N009 undo_started, N009 undo_finished, N013 undo_started, N013 undo_finished, N014 undo_started, N014 undo_finished, N015 undo_started, N015 undo_finished, N016 undo_started, N016 undo_finished, N017 undo_started, N017 undo_finished, N008 started, N008 succeeded, N007 started, N007 succeeded, N008 undo_started, N008 undo_finished, N006 started, N006 succeeded, N007 undo_started, N007 undo_finished, N006 undo_started, N006 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: UndoFinished, 9: UndoFinished, 10: UndoFinished, 11: Failed(InjectedError), 12: UndoFinished, 13: UndoFinished, 14: UndoFinished, 15: UndoFinished, 16: UndoFinished, 17: UndoFinished, 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"ensure_local_storage_5\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.890949506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.890965446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.890976396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.890987236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.890998436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891009236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891020706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891031816Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891041976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891052547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891063077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891073317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891083927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891094577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891104957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891115517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891125877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891136327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891146767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891157077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891167507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891178107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891188377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891198867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891209117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891219987Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891230377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891271417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891283607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891294027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891304307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891315007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891325487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891335907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891346077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891356567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891367007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891377267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891387397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891397817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891408267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891419007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891429447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891440017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891450267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891460977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891471207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891481397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891491827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891501967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891512497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891522897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891533287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891543587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891554297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891564637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891574937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891585227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891595277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891605327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891615517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891639417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891649587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891660197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891670267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891680537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891691167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891701547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891711978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891722298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891732918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891743178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891753108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891763328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891773868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891786868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.891798418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.903518416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.903598096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.904113616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.90651739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.90654436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.906894931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.908600303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.908640963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.908999814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.911952058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.911992569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.912132999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.912173809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.912390919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.918076028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.918123198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.918144438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.919039099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.923618736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.923725776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.923744916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.924424328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.933763402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.943957737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:58.944017847Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.944041138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.944064188Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.944083748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.944104278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.944571258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.949278616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:58.949400046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.949427616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.949909746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.950836818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"CockroachClusterAdminClient","component":"inventory_cockroach_client","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Err(reqwest::Error { kind: Request, url: \"http://[::1]:32222/node/id\", source: hyper_util::client::legacy::Error(Connect, ConnectError(\"tcp connect error\", [::1]:32222, Os { code: 146, kind: ConnectionRefused, message: \"Connection refused\" })) })"} {"msg":"Failed to fetch metrics from CockroachDB node","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:58.951305209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"CockroachClusterAdminClient","component":"inventory_cockroach_client","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"Failed to get node ID from [::1]:32222"} {"msg":"begin collection from NTP admin (timesync)","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.989317157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","zone_id":"7b6b0737-8a98-4803-a77e-125749410fc5 (omicron_zone)","sled_agent_url":"http://[::1]:10123"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.989382407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"ntp_admin_url":"http://[::1]:10123","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:10123/timesync","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.989714597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"ntp_admin_url":"http://[::1]:10123","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Err(reqwest::Error { kind: Request, url: \"http://[::1]:10123/timesync\", source: hyper_util::client::legacy::Error(Connect, ConnectError(\"tcp connect error\", [::1]:10123, Os { code: 146, kind: ConnectionRefused, message: \"Connection refused\" })) })"} {"msg":"begin collection from internal DNS servers","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:58.989916038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"begin collection from DNS server","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.033604664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","zone_id":"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e (omicron_zone)"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.033681205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"internal_dns_url":"http://[::1]:42670","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:42670/config","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.034190535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server","remote_addr":"[::1]:44763"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.034561766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/config","method":"GET","req_id":"df003854-08ef-4ca1-b0c5-a4abb520b3d9","remote_addr":"[::1]:44763","local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.034585826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/config","method":"GET","req_id":"df003854-08ef-4ca1-b0c5-a4abb520b3d9","remote_addr":"[::1]:44763","local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server","version":"2.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.035172507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/config","method":"GET","req_id":"df003854-08ef-4ca1-b0c5-a4abb520b3d9","remote_addr":"[::1]:44763","local_addr":"[::1]:42670","component":"http","kind":"dns","component":"internal_dns_server","latency_us":603,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.035440447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"internal_dns_url":"http://[::1]:42670","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:42670/config\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"df003854-08ef-4ca1-b0c5-a4abb520b3d9\", \"content-length\": \"3478\", \"date\": \"Wed, 10 Jun 2026 21:34:59 GMT\"} })"} {"msg":"finished collection from DNS server","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.035704968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","zone_id":"d75514a5-1d5e-4e0c-b769-ddf8d3f4165e (omicron_zone)"} {"msg":"finished collection from internal DNS servers","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.035761988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"finished collection","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.035780698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.035939348Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Inventory","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.035973938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.036003788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.036025638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.036484439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.03737082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.03741308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.03743376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.037784081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.040196855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.04361153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Inventory","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.044224861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.044289351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.044590441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.045322632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.05022828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.05030494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.05033056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.050939871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.063024139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(16)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.065236453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(16)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088525758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088573228Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088586749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088600669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088612969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088627139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088638829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088650939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088663389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088674689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088687449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088698389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088895159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088923719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088938359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088951939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088964029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088976909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.088989069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089001619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089013909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089074029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089087639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089099469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089168949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089192509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089205809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089218059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089233689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08924634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08925894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08927117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08928922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08930175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08931354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08932541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08933885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08935028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08936187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.0893737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08938941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08943984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08945185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08946325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08947528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08948717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08949851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08950999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.0895217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08955178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08956341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08958082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08968685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.0896998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08973498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08977583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08979067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08980411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08981755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08983029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08984379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08986444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.08987873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089891951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089905261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089918441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089931561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089944621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089957881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089971701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.089984631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.090040171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.090056171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.090068561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.090080911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.090094631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.103197821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.103230091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.103734712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.105959745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.105994675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.106485006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.108157798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.108193058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.108754479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.110855003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.110896753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.111030913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.111057073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.111736754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.114359438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.114419598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.114438388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.114847779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.117722453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.117773413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.117793453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.118287114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.122751401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.128356359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.128401979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.128436619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.128457379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.12857671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.12884385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.131805565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.131851215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.131871995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.132495526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.13539213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.1354484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.13558152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.136518042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.140054497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.147484109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.147566359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.147586309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.148100789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.155926851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(16)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(12)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.16134605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"EnsureLocalStorage_6","node_name":"ensure_local_storage_6"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.16141055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.16143338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.16171801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":16,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.161926791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.163196323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.163262943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.163342763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.164464095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.164507025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.168641371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.169532912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.169647552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(12)","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.169805143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.169848493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.169933263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.169951763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.172758407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.172805757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.172954187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.172975958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.175827842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.175880242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.176210392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.176245263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.178480736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.178504796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"d5205a67-f303-4d52-8e3e-2309e0e12ba3\"))","node_id":"0","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.181898061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.181944931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.184611425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"d5205a67-f303-4d52-8e3e-2309e0e12ba3","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.184651515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.184673225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.185197186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.189423983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"d5205a67-f303-4d52-8e3e-2309e0e12ba3","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.19413212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"d5205a67-f303-4d52-8e3e-2309e0e12ba3","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.19420288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"d5205a67-f303-4d52-8e3e-2309e0e12ba3","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.19422276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"d5205a67-f303-4d52-8e3e-2309e0e12ba3","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.19424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"d5205a67-f303-4d52-8e3e-2309e0e12ba3","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.200318509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"d5205a67-f303-4d52-8e3e-2309e0e12ba3","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.200395759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.20052804Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.202940723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.202998273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.205629467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.205713888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.206320849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.208987933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.209050953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:9\"))","node_id":"2","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.211640657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.211692897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.21412061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.214169311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.214599661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.217021095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.217069305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.217091365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.217110375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.217569816Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.219057708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.221488312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.221517552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.221545102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.221734662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.224348016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.224392766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"d5205a67-f303-4d52-8e3e-2309e0e12ba3\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:9/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:34:59.221487Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:59.221487Z\")})","node_id":"3","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.22680474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.22690106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.228654443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"d5205a67-f303-4d52-8e3e-2309e0e12ba3","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.228706533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.228737273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.229126303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.231081686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.231126986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.231465227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.23336694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.23342773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.234674452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.236372464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.236433415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.236461445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.236486665Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.238996128Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.241353072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.241407982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.241435992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.241916473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.244848557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.245087768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.245154578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.24640926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.249239754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.256594875Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.256669295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.256703516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.256756746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.256782566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.257022326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.25975085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.2597932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.2598175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.260256291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.262827285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.262890165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.262917895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.263195555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:59.263957487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.265698259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.271019997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.271098978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.271125708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.271769319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.27287546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.27293445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.274238912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.274664793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.274694353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.274712603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.279616711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.279671841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"d5205a67-f303-4d52-8e3e-2309e0e12ba3\"), \"state_generation\": Number(17), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.282586115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.282630285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.285202299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.285272559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.28586196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.288234834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.288344124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.288835345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.290474447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.290513417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.290957708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.292864981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.292998171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.293028821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.293055071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.293840562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.296005456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.296066726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.296094456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.29899782Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.301769774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.301824625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.301850525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.302383915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.30542595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.310259937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.310328388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.310380868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.310576478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.311616149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.31169542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.31172552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.3117531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.31198416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.314690264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.314754454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.314781354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.315265755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.31841269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.31847584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.3185034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.318918111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.321401044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.326132582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.327677364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.327702974Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.33155028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.33159182Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.333294833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.333344013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted inventory collection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.337565389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","collection_id":"3fdd93ba-bad0-43e9-9a89-e035946446d4"} {"msg":"inventory collection complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.337629499Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","time_started":"2026-06-10 21:34:48.428779 UTC","collection_id":"3fdd93ba-bad0-43e9-9a89-e035946446d4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.33786747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"collection_id\":\"3fdd93ba-bad0-43e9-9a89-e035946446d4\",\"time_done\":\"2026-06-10 21:34:59.035853 UTC\",\"time_started\":\"2026-06-10 21:34:48.428779 UTC\"}","iteration":3,"elapsed":"11.825257639s"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.33795022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":3,"reason":"Dependency"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.33800648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Inventory","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.33802795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.33805032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.33806994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.338907051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.340115943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.340163173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.341748426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.345359321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Inventory","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.345399451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.345420771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.345646692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.346712143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.346759863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.349038347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.349087607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.349559127Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.352407932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.352624992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.355440526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.355613417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.360899195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.360955535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.374259185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.374313025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.378804332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.378856212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.382957289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.383028729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.388479477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.388534107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.391004291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.391077651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"12","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.395505578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.395572258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.399727594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.399786164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.404254681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.404313221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.406637255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.406673065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.409271939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.409317339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.412712764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.412747744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.414973468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.414996638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.417948362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.418002162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.420808296Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.420874317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.423864811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.423911851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.426373865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.426405835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.428560798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.428611628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.431243982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.431293412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.433858116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.433912776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.435640459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.435690979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.437853842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.437940243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.440282516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.440335196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.44251835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.44257093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.445252514Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.445303414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.447814958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.447857998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.450639352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.450689592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.453174076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.453220846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.457070672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.457122452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.460281607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.460334267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.463013761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.463078001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.464232263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"Loaded\":{\"collection_id\":\"3fdd93ba-bad0-43e9-9a89-e035946446d4\",\"time_loaded\":\"2026-06-10T21:34:59.337944540Z\",\"time_started\":\"2026-06-10T21:34:48.428779Z\"}}","iteration":3,"elapsed":"126.222433ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.464284063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":4,"reason":"Dependency"} {"msg":"blueprint planning disabled, doing nothing","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.464304683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.464323113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"Disabled\"","iteration":4,"elapsed":"17.76µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.464344043Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Dependency"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.464446433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"parent_sitrep_id":"None","inv_collection_id":"3fdd93ba-bad0-43e9-9a89-e035946446d4","background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.464496913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"parent_sitrep_id":"None","inv_collection_id":"3fdd93ba-bad0-43e9-9a89-e035946446d4","background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.464521453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"parent_sitrep_id":"None","inv_collection_id":"3fdd93ba-bad0-43e9-9a89-e035946446d4","background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.464543833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"parent_sitrep_id":"None","inv_collection_id":"3fdd93ba-bad0-43e9-9a89-e035946446d4","background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.465029404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"parent_sitrep_id":"None","inv_collection_id":"3fdd93ba-bad0-43e9-9a89-e035946446d4","background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.465711865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":3,"reason":"Dependency"} {"msg":"multicast group reconciler activating","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.465768515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"starting multicast reconciliation pass","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.465786095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.465802835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.465942205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"physical_disk_adoption","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Dependency"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.465971935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"physical_disk_adoption","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"disks_added\":0,\"errors\":[\"task disabled\"]}","iteration":2,"elapsed":"34.18µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.465994456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Dependency"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.466279046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.466305546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.466329846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.466349476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.466774737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.472526695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:36407","req_id":"52611027-86eb-432d-9ca2-1c4c01dec715","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 32 2d 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 2-..........._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.472583596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:36407","req_id":"52611027-86eb-432d-9ca2-1c4c01dec715","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 12845,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.472766836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.472858976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.472926746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:36407","req_id":"52611027-86eb-432d-9ca2-1c4c01dec715","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.473390337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1139, tv_nsec: 934279496 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.473427187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.473941068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.473963598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.474787719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"parent_sitrep_id":"None","inv_collection_id":"3fdd93ba-bad0-43e9-9a89-e035946446d4","background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.477621053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"parent_sitrep_id":"None","inv_collection_id":"3fdd93ba-bad0-43e9-9a89-e035946446d4","background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loaded 0 ereports, 0 new","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.477657203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"parent_sitrep_id":"None","inv_collection_id":"3fdd93ba-bad0-43e9-9a89-e035946446d4","background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"building sitrep 7019813b-6c80-48d1-9bcf-57f53e1e94b8 (sitrep)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.482917831Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"inv_collection_id":"3fdd93ba-bad0-43e9-9a89-e035946446d4 (collection)","parent_sitrep_id":"None","sitrep_id":"7019813b-6c80-48d1-9bcf-57f53e1e94b8 (sitrep)","parent_sitrep_id":"None","inv_collection_id":"3fdd93ba-bad0-43e9-9a89-e035946446d4","background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","closed_cases_copied_forward":0,"existing_open_cases":0} {"msg":"fault management analysis failed","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:34:59.483016372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"parent_sitrep_id":"None","inv_collection_id":"3fdd93ba-bad0-43e9-9a89-e035946446d4","background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","err":"FM analysis is not yet implemented"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.483301012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"inv_collection_id\":\"3fdd93ba-bad0-43e9-9a89-e035946446d4\",\"known_classes\":[],\"outcome\":{\"RanAnalysis\":{\"analysis_status\":{\"end_time\":\"2026-06-10T21:34:59.478736355Z\",\"outcome\":{\"Error\":\"FM analysis is not yet implemented\"},\"report\":{\"cases\":[],\"comment\":\"\",\"sitrep_id\":\"7019813b-6c80-48d1-9bcf-57f53e1e94b8\"},\"start_time\":\"2026-06-10T21:34:59.478458555Z\"},\"prep_status\":{\"errors\":[],\"report\":{\"closed_cases_copied_forward\":{},\"inv_id\":\"3fdd93ba-bad0-43e9-9a89-e035946446d4\",\"new_ereport_ids\":[],\"open_cases\":{},\"parent_inv_id\":null,\"parent_sitrep_id\":null}}}},\"parent_sitrep_id\":null}","iteration":2,"elapsed":"18.968609ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.483621612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.487879509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.487935299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.487959939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.487982609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.488005519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.48835365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.490098362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:63552","req_id":"5759fe6d-43a3-4ece-a386-7fdc2c38dcdb","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 60 9e 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e `...........-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.490208453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:63552","req_id":"5759fe6d-43a3-4ece-a386-7fdc2c38dcdb","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 24734,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.490385933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.490449313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:63552","req_id":"5759fe6d-43a3-4ece-a386-7fdc2c38dcdb","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.537645045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.538701507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.538742577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.54082123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"84e92243-196b-459b-bcaf-2b2a969767b6\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:34:59 GMT\"} })"} {"msg":"searching for multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.54102768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","state":"Creating"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.54107776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.54110296Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.541710511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.543161903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.547093859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.54718934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.54721372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.54754691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.548763492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.548809812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.552475688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.552522538Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.55395889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.55402156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.55404358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.55406386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.554708471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.555840493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.555891953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.557262455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.56028257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.56031738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.56037176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.56041585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.560439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.56053453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.561643562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.561689172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.564230716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.56701246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.56706606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.56708625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.56732905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.568337462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.568383512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.57367034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.57372186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"ensured all Crucible datasets present in inventory have database records","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.574427481Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","num_inserted":0,"num_already_exist":0,"num_not_in_inventory":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.574517221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.574555311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.574577892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.574598632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.574853652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.576956415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.579630569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.579683909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.579707719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.579732849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.57981498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.57993303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.580984931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.581024631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.582579324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.584936337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.584982787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.585008137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.585282708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.585990729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.586035939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"found multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.58657124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","state":"Creating","count":0} {"msg":"reconciling member state changes","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.5866122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.58663498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.58665962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.58695383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.589775885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.589817585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"all LocalStorage datasets reconciled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.590729266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","num_inserted":0,"num_already_exist":0,"num_not_in_inventory":0,"num_tombstoned":0,"num_already_tombstoned":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.590871326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.590898746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.590923037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.590944507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.592046508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.595253733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.595298543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.596216735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.600959122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.601047432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.601073562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.601099522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.601121432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.601283472Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.604154617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.604186947Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.605897029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.61258352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.6126388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.61266005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.613343961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.615806135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"all LocalStorageUnencrypted datasets reconciled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.61935111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","num_inserted":0,"num_already_exist":0,"num_not_in_inventory":0,"num_tombstoned":0,"num_already_tombstoned":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.6196528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"blueprint_id\":\"e31324af-2d15-4fff-8635-cbe8d0af293a\",\"inventory_collection_id\":\"3fdd93ba-bad0-43e9-9a89-e035946446d4\",\"stats\":{\"crucible_dataset\":{\"num_already_exist\":0,\"num_inserted\":0,\"num_not_in_inventory\":0},\"debug_dataset\":{\"num_already_exist\":0,\"num_already_tombstoned\":0,\"num_inserted\":0,\"num_not_in_inventory\":0,\"num_tombstoned\":0},\"local_storage_dataset\":{\"num_already_exist\":0,\"num_already_tombstoned\":0,\"num_inserted\":0,\"num_not_in_inventory\":0,\"num_tombstoned\":0},\"local_storage_unencrypted_dataset\":{\"num_already_exist\":0,\"num_already_tombstoned\":0,\"num_inserted\":0,\"num_not_in_inventory\":0,\"num_tombstoned\":0}}}","iteration":2,"elapsed":"153.619715ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.620751052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.620799632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"member state reconciliation completed","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.624715018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","members_processed":0} {"msg":"cleaning up deleted multicast members","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.624760368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.624844328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.624884268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.625297939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.628028643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.628088773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.633972562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"d5205a67-f303-4d52-8e3e-2309e0e12ba3","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.634094413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.634149223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.634890764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.643607257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.644404518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":10,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.644468378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.644493788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.64546332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.646127701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.646222241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.648614705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.648675405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.648737575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.649169546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.650070037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.650104257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.652477341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.652508271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.652570191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":10,"elapsed":"8.340203ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.653357022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.653409042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.659570901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.659643172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.662686596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.662739546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.663545038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.667980244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.668022314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"multicast group member complete deletion finished","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.668880026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","left_and_time_deleted_members_deleted":0} {"msg":"checking for empty multicast groups to implicitly delete","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.668917236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.668941986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.668968516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.669444827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.671228219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.671282679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"searching for multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.672060321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","state":"Active"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.672111841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.672143121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.672441251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.674514774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.674557204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"found multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.675927636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","state":"Active","count":0} {"msg":"searching for multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.675979887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","state":"Deleting"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.676001607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.676022727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.676918198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.679460652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.679499462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"found multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.680078633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","state":"Deleting","count":0} {"msg":"multicast RPW reconciliation cycle completed","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.680132653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_count":0,"total_dpd_operations":0,"orphaned_member_cleanup":0,"member_lifecycle_transitions":0,"active_groups_verified":0,"external_groups_deleted":0,"external_groups_created":0} {"msg":"multicast RPW reconciliation pass completed - dataplane consistent","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.680198753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.680221583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"disabled\":false,\"empty_groups_marked\":0,\"errors\":[],\"groups_created\":0,\"groups_deleted\":0,\"groups_verified\":0,\"members_deleted\":0,\"members_processed\":0}","iteration":3,"elapsed":"214.630088ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.682128596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.682227266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.6845092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.68455265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:34:59.688296755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_6\"","result":"failure","saga_name":"instance-start","saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.688543046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.688670226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f, saga_log: SagaLog { saga_id: dfb6643c-a6bb-48db-b2d4-8d22ce0ccc9f, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 succeeded, N014 started, N014 succeeded, N013 started, N013 succeeded, N012 started, N012 failed, N011 started, N011 succeeded, N013 undo_started, N013 undo_finished, N014 undo_started, N014 undo_finished, N011 undo_started, N011 undo_finished, N015 undo_started, N015 undo_finished, N016 undo_started, N016 undo_finished, N017 undo_started, N017 undo_finished, N010 started, N010 succeeded, N009 started, N009 succeeded, N010 undo_started, N010 undo_finished, N008 started, N008 succeeded, N009 undo_started, N009 undo_finished, N007 started, N007 succeeded, N008 undo_started, N008 undo_finished, N006 started, N006 succeeded, N007 undo_started, N007 undo_finished, N006 undo_started, N006 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: UndoFinished, 9: UndoFinished, 10: UndoFinished, 11: UndoFinished, 12: Failed(InjectedError), 13: UndoFinished, 14: UndoFinished, 15: UndoFinished, 16: UndoFinished, 17: UndoFinished, 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"ensure_local_storage_6\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689050417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689210797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689244677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689258157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689272307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689288537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689305607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689327747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689358747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689374237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689387837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689401687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689417207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689516857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689531337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689549717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689584877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689600177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689655937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689694378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689711748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689733508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689783198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689801068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689819608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689835748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689848828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689866198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689881838Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689895928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689909978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689924978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689939998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689953918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689967418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689983408Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.689998878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690180978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690250458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690267458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690281038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690294808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690308248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690322038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690335558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690347109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690363469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690378229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690391639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690404999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690419359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690434179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690450009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690464539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690481259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690538289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690566019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690578489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690590639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690623899Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690642119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690674009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690690999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690705299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690718649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690734029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690750539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690767889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690785179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690800729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690817209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690833979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690851109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690864949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690879839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690904909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.690918099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.709973319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.710028249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.710588139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.713580284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.713615434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.714065225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.716236918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.716263888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.716969639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.719895844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.719942894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.720044274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.720066134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.720368544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.72413119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.72416378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.72418297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.724903221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.727926296Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.728030746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.728075386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.728717627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.735674758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.742682999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.742729139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.742749309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.742772709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.742899179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.742920509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.743270559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.747052975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.747111045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.747133405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.747764796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.751857833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.751883623Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.751901653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.755413307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.759390843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.765614973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.765680633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.765699383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.766101193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.771253691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(18)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.775939909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(18)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.788741708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.788819528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.788843758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.788860548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.788875318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.788891028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.788942138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.788957448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.788970208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.788983488Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.788995878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789009358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789025809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789040409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789053699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789068549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789082199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789099089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789114669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789128149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789142059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789189069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789205489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789219809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789233189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789246619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789263779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789281539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789295499Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789310169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789322169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789336909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789354539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789367759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789380599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789394469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789407039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789419349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789432609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789447399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789463399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789475519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789487849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789522699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789536999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789552819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789566959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789578839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789597209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789609189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789627609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789641469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789654679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78966636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.7896805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78970565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78971799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78973467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78974846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.7897617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.7897756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78978843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78980082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78981279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78982464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78983792Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78985328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78986612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78988002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78990596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.789919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78993208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78994826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78996432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.78998284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.79001042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.79002694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.806831196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.806885406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.807449137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.814386377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.814499327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.814988158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.818192063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.818235283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.818917804Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.821919629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.822002919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.822030929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.822260799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.823180311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.826526496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.826564906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.826582646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.827190347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.831563824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.831644544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.831746404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.832192575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.836689411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.844362063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.844421913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.844445113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.844478923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.844498763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.844861744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.847858958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.847924119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.847944869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.84853694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.856431992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.856482512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.856505722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.857417843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.861595879Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.86847992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.86851946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.86853742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.86870432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.875392011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(18)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(13)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.877979625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"EnsureLocalStorage_7","node_name":"ensure_local_storage_7"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.878013315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.878035995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.878349005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":18,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.878546125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"3fdf912f-2859-4318-883d-db99e1165798"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.8818915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(13)","saga_id":"3fdf912f-2859-4318-883d-db99e1165798"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.881964171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.882174021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.882222171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.882246701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.885267306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.885311686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.890339853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.890392543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.893174648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.893275328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"e42396b0-2a37-4b65-9901-209b2815f9af\"))","node_id":"0","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.896710173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.896760923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.899886138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"e42396b0-2a37-4b65-9901-209b2815f9af","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.899939998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.899964758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.900247489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.903835734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"e42396b0-2a37-4b65-9901-209b2815f9af","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.909648023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"e42396b0-2a37-4b65-9901-209b2815f9af","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.909705183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"e42396b0-2a37-4b65-9901-209b2815f9af","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.909727163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"e42396b0-2a37-4b65-9901-209b2815f9af","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.909931303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"e42396b0-2a37-4b65-9901-209b2815f9af","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.922750103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"e42396b0-2a37-4b65-9901-209b2815f9af","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.922992183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.923015753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.926287608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.926361078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.929893684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.929982774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.931252406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.935582433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.935625633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:a\"))","node_id":"2","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.938879058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.938935498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.941978672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.942038222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.942564683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.945797008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.945863928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.945891148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.945911788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.946429299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.949910704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.95367686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.95372916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.95377407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.954416521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.958159177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.958207937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"e42396b0-2a37-4b65-9901-209b2815f9af\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:a/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:34:59.953669Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:59.953669Z\")})","node_id":"3","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.963900826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.963952846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:34:59.967212861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"e42396b0-2a37-4b65-9901-209b2815f9af","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.967504741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.967761392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.968273483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.970719786Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.970769186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.971261037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.97338398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.97343165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.974184362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.976461275Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.976526045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.976587675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.976616565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.976971156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.97961201Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.97967281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.97970255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.980264441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.983006515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.983070675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.983099005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.983435826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.98614565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.997517687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.997610457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.997671768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:34:59.997739768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.997772698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:34:59.997944718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.001702384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.001827724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.001863764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.002705775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.006696551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.006783171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.006817671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.007406602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.010613527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.01862682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.01870941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.01873925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.01900871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.027036062Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.027184643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"e42396b0-2a37-4b65-9901-209b2815f9af\"), \"state_generation\": Number(19), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.030647198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.030693588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.034409354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.034546864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.035511885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.050041438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.050142868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.050541538Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.057308929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.057355419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.05794694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.062985067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.063099908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.063130998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.063156928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.063641528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.071925221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.071983231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.072014901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.072683932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.07806139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.078177381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.078207751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.078579031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.083815709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.089735228Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.089810688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.089837948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.090164979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.091575101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.091642811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.091671801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.091701371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.092250772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.095529907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.095577017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.095605007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.096152188Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.10363881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.10369424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.10372406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.104863641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.109239278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.118956273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.122547878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.122627659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.125731453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.125771623Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.129226759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:565","component":"oximeter"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.12988817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.132507434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.132545594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.133788566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"0b5bae05-2c75-4d00-9010-56612fc900d2","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.133835546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"0b5bae05-2c75-4d00-9010-56612fc900d2","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.133974926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"0b5bae05-2c75-4d00-9010-56612fc900d2","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.134007396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"0b5bae05-2c75-4d00-9010-56612fc900d2","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.135249338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"0b5bae05-2c75-4d00-9010-56612fc900d2","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.143651971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"0b5bae05-2c75-4d00-9010-56612fc900d2","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":9971,"response_code":200} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.144018291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.144046971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.145462313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"0b5bae05-2c75-4d00-9010-56612fc900d2\", \"content-length\": \"405\", \"date\": \"Wed, 10 Jun 2026 21:35:00 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.145641824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.146723945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"6df14f51-fe67-4e98-9554-86670fa9c715","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.146776945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"6df14f51-fe67-4e98-9554-86670fa9c715","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.146987516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"6df14f51-fe67-4e98-9554-86670fa9c715","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.147057366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"6df14f51-fe67-4e98-9554-86670fa9c715","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.147532547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"6df14f51-fe67-4e98-9554-86670fa9c715","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.148918999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.149042569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.154139207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"6df14f51-fe67-4e98-9554-86670fa9c715","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":7396,"response_code":200} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.154558087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.155258498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.156890341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6df14f51-fe67-4e98-9554-86670fa9c715\", \"content-length\": \"29\", \"date\": \"Wed, 10 Jun 2026 21:35:00 GMT\"} })"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.156940001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.156962131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de"} {"msg":"refreshed list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.156980961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:640","component":"oximeter","n_current_tasks":2,"n_pruned_tasks":0} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.161164667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.161224198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.165888325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.166006725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.166463596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.166550366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.167445947Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.168306398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.168434799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.171564033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.172527675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.17567413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.17574216Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.176629031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.176678961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.181348268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.181388048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.184047072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.184096553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.187151637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.187229097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"13","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.193373007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.193431377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.200858028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.200933628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.206300416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"3fdf912f-2859-4318-883d-db99e1165798"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.206390377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.210856843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.210938944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.216205192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.216442012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.223223042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.223306472Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.226011687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.226078957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.231217165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.231357535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.23506548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.235123141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.239671437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.239714378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.245196406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.245244206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.248700971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.248762701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.252339937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.252392797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.257106064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.257151364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.26112559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.26116145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.263703114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.263736364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.269814844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.269845454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:00.271734587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.273388829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.273433729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.275062682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.275918713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.275984033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.276004733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.280896841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.280927211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.285638588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.285686818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.290693305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.290744186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.297144945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.297234095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.301845103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.301900443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.305770359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.305827099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.310742536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.310805516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.314224991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.314316132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.318829829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.318877819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.322298884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.322452774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.32629768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.32640108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.338710509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.33911781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.344325037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.344396788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.35220598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.35225898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.356464236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.356514796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.362732186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.362785176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.366954092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.367010372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.370348797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.370446087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.373810583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.373845213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.376885357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.376942607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.383254167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.383300547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.386568382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.386703122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.389851697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.389917137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.393289182Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.397608829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.397673129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.402768167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.402820307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.405695301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"e42396b0-2a37-4b65-9901-209b2815f9af","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.405732031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.405760891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.406493483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.415080516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.415182316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":11,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.415561836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.415612616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.415764317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.417043979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.417175879Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.419989013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.420023433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.420051443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.420996025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.423239988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.423351578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.426072532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.426141533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.426205513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":11,"elapsed":"10.919807ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.426343273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.426379093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.431406051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.431464051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.434981246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.435040516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.435629887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.439025912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.439084752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.442776238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.442820298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.445996413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.446040323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.449066538Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.449134968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.453267594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.453324404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.456114898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"3fdf912f-2859-4318-883d-db99e1165798"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.456218129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:00.462365268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_7\"","result":"failure","saga_name":"instance-start","saga_id":"3fdf912f-2859-4318-883d-db99e1165798","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.462574778Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"3fdf912f-2859-4318-883d-db99e1165798","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.462684238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"3fdf912f-2859-4318-883d-db99e1165798","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 3fdf912f-2859-4318-883d-db99e1165798, saga_log: SagaLog { saga_id: 3fdf912f-2859-4318-883d-db99e1165798, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 succeeded, N014 started, N014 succeeded, N013 started, N013 failed, N012 started, N012 succeeded, N011 started, N011 succeeded, N012 undo_started, N012 undo_finished, N014 undo_started, N014 undo_finished, N011 undo_started, N011 undo_finished, N015 undo_started, N015 undo_finished, N016 undo_started, N016 undo_finished, N017 undo_started, N017 undo_finished, N010 started, N010 succeeded, N009 started, N009 succeeded, N010 undo_started, N010 undo_finished, N008 started, N008 succeeded, N009 undo_started, N009 undo_finished, N007 started, N007 succeeded, N008 undo_started, N008 undo_finished, N006 started, N006 succeeded, N007 undo_started, N007 undo_finished, N006 undo_started, N006 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: UndoFinished, 9: UndoFinished, 10: UndoFinished, 11: UndoFinished, 12: UndoFinished, 13: Failed(InjectedError), 14: UndoFinished, 15: UndoFinished, 16: UndoFinished, 17: UndoFinished, 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"ensure_local_storage_7\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.462908139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.462926609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.462941419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.462955379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.462988919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463008249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463022219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463043869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463082659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463099159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463116509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463133939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463151579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463166019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463184039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463196549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463209619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463247669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463263799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463278249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463292099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463304499Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463317579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463335369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463348689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.463363969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46337841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.4633913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46340526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46341667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46342866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46344092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46345424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46347269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46350138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.4635135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46352571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46353721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46356732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46358121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46360064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46364722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46366277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46367766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46369153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46370545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46371915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46387962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46391656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46393367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46394777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.4639605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46399656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.46401237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464027211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464041731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464054121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464071051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464085491Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464099031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464111991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464127741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464141111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464158011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464171281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464185221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464197391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464215981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464228631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464245051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464259091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464270691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464282271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464294041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464309371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464325921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.464338961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.477144661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.477192941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.477794482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.480050235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.480094045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.480564866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.482668449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.482720679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.48305249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.485475743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.485526673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.485555873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.485576393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.485900554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.488964509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.489045719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.489082049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.489531299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.492091613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.492190874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.492228094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.492684994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.498069543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.503425721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.503488081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.503505381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.503532981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.503568871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.503586851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.503994632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.507704907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.507748627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.507770397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.508376268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.511887984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.511939274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.511960154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.512249344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.515224539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.520327457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.520385387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.520404867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.520647367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.523597692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(20)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.526176696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(20)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.537846113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.537900813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.537915953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.537930973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.537945454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.537960314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.537974404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.537993314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538006874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538019474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538033394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538047134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538060184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538072654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538084464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538097014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538110444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538122594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538134834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538149604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538177314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538191774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538207044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538220854Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538235174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538249154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538261994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538274664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538292194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538306874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538320904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538336994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538353814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538366184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538378824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538392044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538406074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538448544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538464254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538478854Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538493694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538511144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538524434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538538694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538553344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538582494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538600315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538616525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538632925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538646905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538717195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538733075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538779625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538829135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538924095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538939655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538957825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538974145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.538992415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539033405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539050395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539069585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539084205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539100675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539125645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539142585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539161195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539178305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539192355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539209785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539221935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539261426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539275086Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539291436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539319206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539335726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.539350456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.566820068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.566871018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.567752889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.569961272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.570019883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.570682764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.572816467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.572865877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.573461058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.575722351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.575969412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.576050552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.576089892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.577680724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.58120729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.58129726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.58131789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.581878911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.585025435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.585065016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.585086146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.585536456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.589410442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.596578263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.596841904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.596882704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.596906014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.596927594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.596994904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.600163469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.600206379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.600227329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.600686629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.603148073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.603195543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.603215183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.603534344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.606539598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.616644394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.616710204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.616730334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.617059194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.62051109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(20)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(14)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.623281084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"EnsureLocalStorage_8","node_name":"ensure_local_storage_8"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.623349664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.623372724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.623687825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":20,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.623908805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.628598572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(14)","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.628660862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.628680052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.628761222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.628799192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.632841599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.632875919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.636334214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.636416724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.639173628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.639278118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"9a829523-664c-4906-8ea8-85314d219bf2\"))","node_id":"0","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.642634154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.642828204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.645875059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"9a829523-664c-4906-8ea8-85314d219bf2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.645935449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.645961419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.646455469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.650862426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"9a829523-664c-4906-8ea8-85314d219bf2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.656746425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"9a829523-664c-4906-8ea8-85314d219bf2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.656886835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"9a829523-664c-4906-8ea8-85314d219bf2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.656911505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"9a829523-664c-4906-8ea8-85314d219bf2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.656930045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"9a829523-664c-4906-8ea8-85314d219bf2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.663495065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"9a829523-664c-4906-8ea8-85314d219bf2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.663574026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.663596896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.667174601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.667233301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.671573308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.671616688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.672119239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.676660426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.676848106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:b\"))","node_id":"2","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.689327865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.689408455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.693479191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.693729852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.695816355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.699618901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.699708741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.699736851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.699761121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.700351272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.703186186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.707799153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.707859773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.707894733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.708357104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.712639921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.712734821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"9a829523-664c-4906-8ea8-85314d219bf2\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:b/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:35:00.707781Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:35:00.707781Z\")})","node_id":"3","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.715880666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.715933916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.719403571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"9a829523-664c-4906-8ea8-85314d219bf2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.719578531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.719616181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.720378762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.724271288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.724333578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.724742399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.729388356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.729441916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.730009627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.733085282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.733194192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.733241652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.733299482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.733841653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.736764747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.736812458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.736842528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.737254088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.740916914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.740989634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.741052364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.741667495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.744574149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.749501677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.749553107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.749596227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.749624757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.749652237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.749844607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.752664832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.752734612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.752849752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.753113802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.756006596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.756059096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.756090806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.756978388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.759570441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.765520261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.765609711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.765642771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.765939341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.77820468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.77824772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"9a829523-664c-4906-8ea8-85314d219bf2\"), \"state_generation\": Number(21), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.781818376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.781876146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.785090371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.785164531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.785851372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.788439336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.788508886Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.789052407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.791745161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.791799311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.792172971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.795906657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.796030887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.796065757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.796098237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.796649248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.799707223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.799772383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.799802913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.800505204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.803348638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.803427209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.803505629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.804008699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.807486835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.812627443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.812693883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.812723533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.812944203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.814318525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.814377355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.814406845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.814433325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.815235187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.818369581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.818554802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.818588232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.819116863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.822276107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:00.822365937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.822396658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.822710788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.826325174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.833837535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.836142899Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.836187019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.839913474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.839945784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.842547848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.842582008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.845598303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.845648633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.848063357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.848145517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.850640901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.850690171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.853040814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.853087104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.85657718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.85661234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.859517264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.859561654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"14","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.86306948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:00.86311594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.86965711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.86971265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.872760525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.872861115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.875604959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.875679789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.879392125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.879555715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.88276925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.88281841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.885830715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.885880805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.888437189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.888484609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.891522973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.891553503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.894186277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.894242887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.899479185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.899535375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.901804469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.901850329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.905092544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.905138654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.907845798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.907903498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.910638202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.910707413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.91525019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.9153076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.917741603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.917791053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.920707848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.920788428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.923890693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.923941083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.926458897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.926521457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.929040601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.929092311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.931371154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.931411414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.933937918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.933973378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.936292252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.936338482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.938864516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.938888166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.945009875Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.945055445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.952249826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.952303066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.955392611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.955457211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.958220315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.958290915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.962773772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.962833212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.966434788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.966496238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.969923583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.969961773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.972460907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.972511707Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.975505142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.975539502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.981326501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.981380321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.984537765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.984624736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.98734847Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.98739828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.989777693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.989836364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.993489399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.993558369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.999530868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:00.999589378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.004486426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.004539246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.007892361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.007952591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.010980926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.014836662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.014891812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.018306427Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.018349717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.021051021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"9a829523-664c-4906-8ea8-85314d219bf2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.021107801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.021147731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.021684022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.028075122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.028212122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":12,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.028245482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.028268192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.030962666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.031561817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.031632917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.034554822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.034605442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.035460933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.035497203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.035519113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.036005114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.037837637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.037978447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.041638673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.041685303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.041704143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":12,"elapsed":"13.465051ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.045238108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.045275518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.050334706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.050375776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.050843137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.054539282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.054643183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.056927146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.057065956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.05937376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.05940601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.061852294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.061900014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.064434238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.064476018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.066709661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.066751551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:01.070956068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_8\"","result":"failure","saga_name":"instance-start","saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.071023398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.071203618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"a7da47b7-5766-40e0-a4ae-3bf781211363","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: a7da47b7-5766-40e0-a4ae-3bf781211363, saga_log: SagaLog { saga_id: a7da47b7-5766-40e0-a4ae-3bf781211363, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 succeeded, N014 started, N014 failed, N013 started, N013 succeeded, N015 undo_started, N015 undo_finished, N016 undo_started, N016 undo_finished, N013 undo_started, N013 undo_finished, N017 undo_started, N017 undo_finished, N012 started, N012 succeeded, N011 started, N011 succeeded, N012 undo_started, N012 undo_finished, N010 started, N010 succeeded, N011 undo_started, N011 undo_finished, N009 started, N009 succeeded, N010 undo_started, N010 undo_finished, N008 started, N008 succeeded, N009 undo_started, N009 undo_finished, N007 started, N007 succeeded, N008 undo_started, N008 undo_finished, N006 started, N006 succeeded, N007 undo_started, N007 undo_finished, N006 undo_started, N006 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: UndoFinished, 9: UndoFinished, 10: UndoFinished, 11: UndoFinished, 12: UndoFinished, 13: UndoFinished, 14: Failed(InjectedError), 15: UndoFinished, 16: UndoFinished, 17: UndoFinished, 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"ensure_local_storage_8\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.071973279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072005519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072019349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072032559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072044719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072060099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072074849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072087469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072099039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072111089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072123389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072135509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072149349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072163549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072176499Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072190099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072201869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072216349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072229609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07224151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07225409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07226761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07228095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07229719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07231139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07232354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07233587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07236944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07241934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07243388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07244755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07245961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07247183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07248529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07251808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07253281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07254621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07256029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07257267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07258483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.0725976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07261099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07262276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07263453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07264622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07265781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07266942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07268422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07269703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07270943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07272132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07273311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07274507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07275666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07276941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07278221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07279331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07280522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07281786Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07283037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07284175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07285324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.0728651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.07287928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072892281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072904271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072915441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072927571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072962181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072973971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072985901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.072999391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.073011811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.073023551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.073035101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.073046641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.073058571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.095243455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.095447535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.095932966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.09840663Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.09852825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.09887695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.101119664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.101153664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.101454864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.103911808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.103975488Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.103998008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.104019458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.104438219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.107344593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.107506373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.107549163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.108466095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.11171413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.1117819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.11180176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.112222661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.114717254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.120246513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.120316993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.120333463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.120356133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.120373423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.120389533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.120403003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.12488668Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.12496793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.12501318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.126976753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.130443729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.130480499Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.130498699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.132793322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.136066227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.144910641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.145003101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.145057281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.146680003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.15087715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(22)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.153398554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(22)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.164462191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.164537071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.164587091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.165400592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.165445322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.170109409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.170164009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.170178139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.170190769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.170204059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.171935692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.171992972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172008162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172021652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172034132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172046122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172058672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172071162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172083692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172095882Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172108002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172119602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172131542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172143822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172156012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172167742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172179732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172191912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172203712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172218862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172232112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172244132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172256282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172268702Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172283922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172297512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172310953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172325723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172338793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172353123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172366493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172380413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172392313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172403923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172416163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172429093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172442903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172454653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172466123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172478903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172493583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172506003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172519373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172531933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172546293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172559533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172571313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172582943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172594803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172606773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172620453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172634463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172646443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172658903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172671013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172683633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172695263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172708583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172721583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172735073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172748193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172760003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172771923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172785473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172798713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172811363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172826103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172840203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172853713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172865393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172879433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.172893063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.191203401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.191273692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.192236463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.193693785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.194441476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.19658652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.19663193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.197170351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.198587733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.198644173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.201779368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.201828748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.202593349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.204195351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.204371352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.205570733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.205640833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.205665824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.205688884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.206907715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.21642101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.21653066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.216873161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.216925721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.221116527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.221160517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.221180547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.222016319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.226500515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.238451154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.238521844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.238572534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.238595184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.238614034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.239346845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.24292349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.242999201Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.243178431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.245464704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.24907806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.249136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.24917859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.249811121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.253577947Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.262952091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.263020151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.263040291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.265362985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:01.266705667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.270693343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(22)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(15)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.276084881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"EnsureLocalStorage_9","node_name":"ensure_local_storage_9"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.276217041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.276238251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.276784082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":22,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.276968113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.277889044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.277950754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.279473636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.280115017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.280172827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.280197797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.28188138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(15)","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.282288321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.282325541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.282346431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.282363751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.286044016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.286101326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.289778432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.289829342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.293521338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.293574898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"a4deeba4-53ed-4bf9-a769-7fef51d8ed78\"))","node_id":"0","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.298053725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.298107675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.30146393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"a4deeba4-53ed-4bf9-a769-7fef51d8ed78","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.30151551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.30154068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.302974932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.30792631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"a4deeba4-53ed-4bf9-a769-7fef51d8ed78","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.31428862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"a4deeba4-53ed-4bf9-a769-7fef51d8ed78","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.31435969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"a4deeba4-53ed-4bf9-a769-7fef51d8ed78","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.31443968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"a4deeba4-53ed-4bf9-a769-7fef51d8ed78","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.31446454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"a4deeba4-53ed-4bf9-a769-7fef51d8ed78","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.32110168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"a4deeba4-53ed-4bf9-a769-7fef51d8ed78","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.32138792Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.321446391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.324792856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.324841816Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.328435931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.328512741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.330943355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.335442662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.335577172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:c\"))","node_id":"2","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.339377978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.339420138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.343252924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.343315724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.343744465Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.34727511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.3473311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.34735657Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.34737742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.347936621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.352956819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.356763765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.356831215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.356865825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.357354805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.362693774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.362750144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"a4deeba4-53ed-4bf9-a769-7fef51d8ed78\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:c/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:35:01.356744Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:35:01.356744Z\")})","node_id":"3","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.365631768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.365658268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.368798703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"a4deeba4-53ed-4bf9-a769-7fef51d8ed78","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.368852553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.368882943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.369354404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.371777447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.371857638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.372109588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.374319611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.374375721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.375110643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.377809727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.377899247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.377995347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.378036277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.378505598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.381359672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.381398112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.381428302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.382072513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.384933048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.384983378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.385011318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.385465938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.388363213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.395096813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.395220793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.395345503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.395418754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.395447904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.395803734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.398988809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.399051309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.399084089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.400481241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.404703448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.404857208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.404890648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.405191579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.409229065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.416534496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.416636856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.416668396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.416888076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.427750103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.427842493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"a4deeba4-53ed-4bf9-a769-7fef51d8ed78\"), \"state_generation\": Number(23), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.43229083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.43241707Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.436485926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.436523556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.437049997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.439858342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.439908932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.440421372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.442866046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.443041966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.443450087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.446412292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.446494392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.446523672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.446549872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.447005692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.45211269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.45219158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.45222107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.453059532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.456219187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.456277137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.456304017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.457034128Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.460082802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.465840811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.465930541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.465959951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.466231602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.467416014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.467481984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.467513374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.467543514Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.467850024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.47127113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.47133166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.47135961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.4718471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.476593628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.476669428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.476703828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.477156409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.481424575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.487969425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.490592659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.490657099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.49791021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.49799578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.501691246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.501746546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.50409442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.50416584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.506615314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.506666524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.508656577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.508711357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.51105922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.51111042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"15","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.515346647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.515396507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.518110781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.518167121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.520398735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.520438455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.524267551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.524325341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.528561667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.528627777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.542401898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.542436068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.546822155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.546876355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.55035682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.550416821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.555406338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.555465668Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.559150834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.559208414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.562041628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.562096688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.564527152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.564571442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.567797727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.567836347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.570208061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.570231991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.572921855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.572944695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.576724221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.576764911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.580644807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.580701987Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.585737045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.585773505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.588639769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.588683659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.591268593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.591327333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.593955117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.594004817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.596560191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.596635111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.599415395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.599466916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.60212105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.60216306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.604936444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.604963364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.608238049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.608297539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.610278112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.610332082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.613072346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.613116636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.618784405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.618860135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.626090356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.626162656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.629748462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.629802502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.632640646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.632694256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.635686371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.635824401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.638548055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.638595825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.641200839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.641234959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.644435384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.644470364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.647436059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.647679459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.651388525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.651446935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.654343469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.65437805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.656793583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.656861323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.659536317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.659601698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.662433882Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.662491972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.665614887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.665660837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.668164861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.668211811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.671813486Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.678256636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.678310896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.681931122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.681962242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.685202727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"a4deeba4-53ed-4bf9-a769-7fef51d8ed78","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.685281317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.685315957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.685710637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.688998462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.689062843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":13,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.689109473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.689132893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.689536313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.690074994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.690097484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.692563208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.692628078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.693161559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.693210619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.693233959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.69392963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.70036056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.701821552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.701915222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":13,"elapsed":"12.816659ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.702253513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.702350653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.708101002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.708158852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.711487437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.711683217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.712246148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.714467311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.714511801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.716937405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.717000675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.719398969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.719452579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.722364293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.722453404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.724654377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.724714967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.730223975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.730264786Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:01.737012996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_9\"","result":"failure","saga_name":"instance-start","saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.737126296Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.737478147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"613aef8c-81ed-4ae9-a7fd-9be01ec387fb","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 613aef8c-81ed-4ae9-a7fd-9be01ec387fb, saga_log: SagaLog { saga_id: 613aef8c-81ed-4ae9-a7fd-9be01ec387fb, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 failed, N014 started, N014 succeeded, N013 started, N013 succeeded, N014 undo_started, N014 undo_finished, N016 undo_started, N016 undo_finished, N013 undo_started, N013 undo_finished, N017 undo_started, N017 undo_finished, N012 started, N012 succeeded, N011 started, N011 succeeded, N012 undo_started, N012 undo_finished, N010 started, N010 succeeded, N011 undo_started, N011 undo_finished, N009 started, N009 succeeded, N010 undo_started, N010 undo_finished, N008 started, N008 succeeded, N009 undo_started, N009 undo_finished, N007 started, N007 succeeded, N008 undo_started, N008 undo_finished, N006 started, N006 succeeded, N007 undo_started, N007 undo_finished, N006 undo_started, N006 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: UndoFinished, 9: UndoFinished, 10: UndoFinished, 11: UndoFinished, 12: UndoFinished, 13: UndoFinished, 14: UndoFinished, 15: Failed(InjectedError), 16: UndoFinished, 17: UndoFinished, 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"ensure_local_storage_9\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.74002274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740089881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740126361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740142001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740158111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740171911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740189361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740203731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740217151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740236641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740251441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740346821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740362731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740375741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740389521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740404241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740417211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740432381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740447981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740462541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740475711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740490921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740504051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740522411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740549321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740574831Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740589691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740772142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740802792Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740818532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740836272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740851422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740863372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740911372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740952252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740966622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740980732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.740993062Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741006372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741037912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741052292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741065202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741078132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741090812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741103852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741115632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741127352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741139952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741153172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741165412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741177092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741190672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741204032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741238572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741250982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741264532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741278182Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741290072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741301492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741312762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741330162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741344332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741356552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741368343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741379323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.741392183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.744076477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.744134877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.744156257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.744169557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.744182057Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.744194017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.744205807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.744217827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.744230077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.744244067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.744257017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.769975725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.770034925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.771062497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.774014362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.774093562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.774569322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.777343527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.777386797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.777673587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.781573573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.781629743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.781662583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.781678193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.782493735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.785245099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.785299969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.785319789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.78577379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.786987751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":5,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.787022011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.787045551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.787067592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.787087372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.787640772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.789811906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.794727813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.794812753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.794837913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.795061124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.797296067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.797344707Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.797361977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.797924888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"reconfigurator config load complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.800182092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","switches":"Loaded(ReconfiguratorConfigView { version: 1, config: ReconfiguratorConfig { planner_enabled: false, planner_config: PlannerConfig, tuf_repo_pruner_enabled: true }, time_modified: 2026-06-10T21:34:41.697639Z })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.800242892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"config_updated\":false}","iteration":5,"elapsed":"13.12239ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.803047976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.809054905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.809111565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.809133355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.809157025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.809174505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.809206045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.809498526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.813346852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.813390392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.813414632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.813825762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.817261598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.817306998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.817327058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.817778858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.820513153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.826791052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.826839492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.826855912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.827122133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.829975017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(24)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.833101622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(24)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846540222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846655223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846675853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846689413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846702933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846716473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846732593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846748543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846765313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846778993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846792003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846809043Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846821043Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846833363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846858583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846870813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846884003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846896273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846907883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846920513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846934593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846953523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846967083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846980753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.846992583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847004893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847018423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847030763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847044083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847055683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847067053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847149823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847184103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847199413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847212243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847263064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847277814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847293344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847307654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847321964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847336084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847349894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847363674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847383484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847396564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847411524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847426684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847440764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847454394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847471064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847484564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847500614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847527504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847540884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847557644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847571684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847587634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847601334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847614714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847630084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847649384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847663144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847677364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847689494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847701094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847715154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847729114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847742774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847760454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847779504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847795124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847831634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847845704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847861654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847877804Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847894095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.847910965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.875161096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.875218826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.875716087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.880791865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.880836895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.881356776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.883287839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.883312159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.88413377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.888096626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.888174506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.888204106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.888222396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.888667107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.892055882Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.892094302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.892113432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.892578613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.895311297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.895372627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.895394347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.896386139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.900069584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.910830641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.910891901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.910930571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.911008521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.911027761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.911428032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.916488569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.916556149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.91657686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.917392651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.920884646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.920940956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.920966256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.921657367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.924664642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.92967166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.92971064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.92972759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.92998911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.933085685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(24)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(16)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.937724622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"EnsureLocalStorage_10","node_name":"ensure_local_storage_10"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.937781912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.937804602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.938158543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":24,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.938371693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.946044755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(16)","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.946085175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.946109895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.946243285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.946264155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.952249864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.952305214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.963700222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.963776142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.970350602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.970397572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"c06755e9-ee23-44f6-893a-e83bc6eba5ac\"))","node_id":"0","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.97587341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.97603941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.979702266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c06755e9-ee23-44f6-893a-e83bc6eba5ac","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:01.979757106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.979783096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.980383527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.984305493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c06755e9-ee23-44f6-893a-e83bc6eba5ac","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.992195495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c06755e9-ee23-44f6-893a-e83bc6eba5ac","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.992337805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c06755e9-ee23-44f6-893a-e83bc6eba5ac","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.992360465Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c06755e9-ee23-44f6-893a-e83bc6eba5ac","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.992383285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c06755e9-ee23-44f6-893a-e83bc6eba5ac","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:01.999744837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"c06755e9-ee23-44f6-893a-e83bc6eba5ac","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.999893037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:01.999975487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.003251742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.003305322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.007137528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.007207758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.007672539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.010823544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.010872284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:d\"))","node_id":"2","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.01474066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.01481105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.018661626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.018717706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.019142216Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.022750602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.022841712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.022866822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.022887582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.023530523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.026503718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.029351492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.029404412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.029434082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.029724643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.033664839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.033763749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"c06755e9-ee23-44f6-893a-e83bc6eba5ac\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:d/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:35:02.029341Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:35:02.029341Z\")})","node_id":"3","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.037355294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.037437544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.04112749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"c06755e9-ee23-44f6-893a-e83bc6eba5ac","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.04121988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.0412539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.041883991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.053659179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.053734139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.0542167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.059627268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.059675008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.060258269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.064167455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.064216535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.064248915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.064274505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.064971036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.076633474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.076816905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.076870815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.077222205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.081054981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.081119581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.081145881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.081936552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.088459542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.093946811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.094064001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.094103681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.094130871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.094162611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.094316181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.10029424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.10035915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.100390071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.100794621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.108325613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.108496293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.108530743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.110192846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.114049321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.1198027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.11990113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.11996105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.120136571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.129082374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:565","component":"oximeter"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.130231216Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.130827077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.130870517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"c06755e9-ee23-44f6-893a-e83bc6eba5ac\"), \"state_generation\": Number(25), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.132268849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"7d27c813-e89a-4478-8f50-0d623d7500fa","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.132300529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"7d27c813-e89a-4478-8f50-0d623d7500fa","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.13241844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"7d27c813-e89a-4478-8f50-0d623d7500fa","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.13245173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"7d27c813-e89a-4478-8f50-0d623d7500fa","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.134037222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"7d27c813-e89a-4478-8f50-0d623d7500fa","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.138192788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.138251228Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.140194071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"7d27c813-e89a-4478-8f50-0d623d7500fa","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":7672,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.140313312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"7d27c813-e89a-4478-8f50-0d623d7500fa\", \"content-length\": \"405\", \"date\": \"Wed, 10 Jun 2026 21:35:02 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.140447492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.140738162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"85736e5c-63f6-4aa8-b4ab-48b31771b0a9","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.140773042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"85736e5c-63f6-4aa8-b4ab-48b31771b0a9","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.140982503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"85736e5c-63f6-4aa8-b4ab-48b31771b0a9","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.141018343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"85736e5c-63f6-4aa8-b4ab-48b31771b0a9","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.141988954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"85736e5c-63f6-4aa8-b4ab-48b31771b0a9","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.143154336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.143209516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.143622467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.14576458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"85736e5c-63f6-4aa8-b4ab-48b31771b0a9","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":5009,"response_code":200} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.14594451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.1460072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.147363112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.148989385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"85736e5c-63f6-4aa8-b4ab-48b31771b0a9\", \"content-length\": \"29\", \"date\": \"Wed, 10 Jun 2026 21:35:02 GMT\"} })"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.149407205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.149440916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de"} {"msg":"refreshed list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.149464216Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:640","component":"oximeter","n_current_tasks":2,"n_pruned_tasks":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.150457607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.150546417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.151842249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.153880232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.153953062Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.153983762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.154010203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.154558283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.158134339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.158251019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.158290829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.159317501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.162388325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.162469045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.162496905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.163120396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.163933918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.163961898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.164094878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.166016151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.166052531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.167973404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.176155716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.176236467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.176264967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.176535967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.17840037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.179323291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.180154962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.180956524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.180991504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.181024654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.181049494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.185827931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.185902171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.186416412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.186709913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.186750453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.186855653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.192491401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.192559021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.192677912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.192733222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.192766432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.193420693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.196226187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.20487321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.207597574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.207648805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.21103509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.21106619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.215152746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.215201866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.219837183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.219877853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.222670417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.222721638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"16","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.226266503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.226333133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.233446744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.233512724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.239524373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.239571283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.249135908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.249189158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.257925841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.257968391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.259276233Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.259312894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.259959155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/913233fe-92a8-4635-9572-183f495429c4","method":"GET","req_id":"655c6a25-f73a-4132-8b66-3130375bbf25","remote_addr":"127.0.0.1:38338","local_addr":"127.0.0.1:36260","component":"dropshot","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.27017227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/913233fe-92a8-4635-9572-183f495429c4","method":"GET","req_id":"655c6a25-f73a-4132-8b66-3130375bbf25","remote_addr":"127.0.0.1:38338","local_addr":"127.0.0.1:36260","component":"dropshot","file":"/home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dropshot-0.17.0/src/server.rs:874","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":10180,"response_code":200} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.270681251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.270729001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.271770933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:02.271833623Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.285631454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":11,"n_results":5} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.285686104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.285723914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.286182935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":11} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.286250035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":11} {"msg":"unrolling 11 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.286573295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.290166131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.290215891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('http_service:request_latency_histogram') FORMAT Native"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.290523131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.290551091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.292032494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.292504604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.292533634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.292553324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.293426936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.293456386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.294684658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.29628806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":22,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.298166123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.298199793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.299103124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":22} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.299148334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":11,"sql":"INSERT INTO oximeter.fields_u16 FORMAT Native"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.30247303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.30250305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.304856983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_u16","n_rows":11} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.304896893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":11,"sql":"INSERT INTO oximeter.fields_uuid FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.310899952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_uuid","n_rows":11} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.310972102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":19,"n_rows":11,"sql":"INSERT INTO oximeter.measurements_histogramu64 FORMAT Native"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.311431383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.311457673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.321791359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_histogramu64","n_rows":11} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.321855599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.324177613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.324214263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.330004162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.330067332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.334516038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.334571799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.350068162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.350132712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.354433409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.354475169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.358485925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.358590315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.363597123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.363667643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.371391345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.371433305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.375403891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.375446711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.384502135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.384563725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:02.389134212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.390932705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.390989595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.399616658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.399730728Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.406217508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.406309708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.411294326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.411354166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.415032712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.415064052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.419676149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.419746359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.428033821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.428086992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.434229601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.436953815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.444142986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.444190156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.449010384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.449104314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.454972923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.455049063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.461941553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.462001493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.467821382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.467884402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.472399889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.472464899Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.47966031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.479755701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.489122265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.489163535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.493538222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.493571722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.502670816Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.502730726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.515439905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.515528225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.522047105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.522113525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.52529742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.52534918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.529090096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.529218426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.532220971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.532280041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.536194717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.536262587Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.540932284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.540990394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.543646018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.543702918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.550348738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.556246837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.556303108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.562006496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.562074366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.565042351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"c06755e9-ee23-44f6-893a-e83bc6eba5ac","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.565096601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.565135421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.565840622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.57104291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.57111189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":14,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.57119185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.57122948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.57769038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.579205693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.579243993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.584509981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.584573391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.584599311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.586300863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.587332025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.587491905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.59048334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.59056379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.5905941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":14,"elapsed":"19.45466ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.59081643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.59084159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.594427396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.594476336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.595933518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.595984408Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.59706969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.604004601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.604065261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.606988725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.607019525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.609533529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.609571159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.612097033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.612161163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.615992319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.616024189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.621534807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.621578797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:02.627479026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_10\"","result":"failure","saga_name":"instance-start","saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.627563577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.627588837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"184babc3-b4dd-485f-a3b1-1b1951298059","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 184babc3-b4dd-485f-a3b1-1b1951298059, saga_log: SagaLog { saga_id: 184babc3-b4dd-485f-a3b1-1b1951298059, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 failed, N015 started, N015 succeeded, N017 undo_started, N017 undo_finished, N014 started, N014 succeeded, N015 undo_started, N015 undo_finished, N013 started, N013 succeeded, N014 undo_started, N014 undo_finished, N012 started, N012 succeeded, N013 undo_started, N013 undo_finished, N011 started, N011 succeeded, N012 undo_started, N012 undo_finished, N010 started, N010 succeeded, N011 undo_started, N011 undo_finished, N009 started, N009 succeeded, N010 undo_started, N010 undo_finished, N008 started, N008 succeeded, N009 undo_started, N009 undo_finished, N007 started, N007 succeeded, N008 undo_started, N008 undo_finished, N006 started, N006 succeeded, N007 undo_started, N007 undo_finished, N006 undo_started, N006 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: UndoFinished, 9: UndoFinished, 10: UndoFinished, 11: UndoFinished, 12: UndoFinished, 13: UndoFinished, 14: UndoFinished, 15: UndoFinished, 16: Failed(InjectedError), 17: UndoFinished, 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"ensure_local_storage_10\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.627854487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.627872347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.627886597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.627901337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.627915797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.627936947Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.627952017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.627965267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.627978457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.627991117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628005877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628020157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628034627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628052187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628099207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628114227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628130417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628145307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628157997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628172337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628185857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628351628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628386068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628485408Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628720708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628744418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628764398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628779278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628794248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628810218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628824618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628844278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628859359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628873889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628887569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628901339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628916979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628934149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628948919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628963909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.628988189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.629055069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.629071779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.629087129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.629101629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.629115349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.629136109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.629151009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.629169569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.629183649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.629197769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.629212619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.62965362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.62967497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.62968825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.62971857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.62973565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.62975907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.6298364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.6298536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.62986965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.62988327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.62990383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.62992255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.62993742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.62995109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.62996677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.62998388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.6300034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.63002218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.6300817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.63010223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.63011685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.63013073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.63014485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.63016648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.630190591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.643399881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.643465811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.643960892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.646308795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.646480645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.646954326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.64956086Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.64962634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.650486662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.653804747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.654030567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.654065187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.654084287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.654955698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.658234423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.658282543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.658306644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.659259385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.662091069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.662145029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.662174299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.66267902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.669560341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.676042291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.676108391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.676125171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.676150771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.676168211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.676183971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.676458711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.682957681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.683096251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.683138431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.684260673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.687297098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.687347398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.687367308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.687842859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.690985723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.696832322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.696942953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.696964473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.697152223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.700382148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(26)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.702989412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(26)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716442802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716530713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716548053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716562563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716576433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716590423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716603463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716622393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716635503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716648273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716660973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716673993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716686723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716699753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716712323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716724753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716737473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716756073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716768963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716783093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716795643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716809863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716822843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716837883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716852453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716865463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716883843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716897803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716911673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716924073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716936583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716948993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716961803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716974713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716987103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.716999173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717011893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717029883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717042373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717054993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717067643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717080153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717092523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717107373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717119543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717131663Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717143973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717162474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717176924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717254484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717269354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717282124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717295134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717313814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717326394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717338664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717350864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717363154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717377774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717391484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717403604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717416304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717429124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717447174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717461264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717473724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717516384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717531224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717543634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717556264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717574714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717588384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717602594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717618074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717631864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717645544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.717658024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.738106766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.738172356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.738718586Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.741754421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.741812731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.742358642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.744762716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.744811676Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.745719037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.74773511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.74777037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.74781306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.7478322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.748291541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.751172015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.751220926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.751241196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.751852527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.754821141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.754859841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.754880181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.756117592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.760354779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.76774475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.7677899Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.76781867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.76784118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.76786084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.768252921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.770774885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.770846455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.770867635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.771237585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.77444441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.776484493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.776546363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.776697794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.779409698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.785418857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.785467547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.785492917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.785790478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.789789384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(26)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(17)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.79371553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"EnsureLocalStorage_11","node_name":"ensure_local_storage_11"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.7937757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.79380204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.79422109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":26,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.794501101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.799323838Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(17)","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.799379338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.799400108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.799419438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.799438608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.802795514Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.802832524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.80683142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.80691804Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.810119715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.810214605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"bfbc0da8-b66c-4e14-9e4e-58a0423df690\"))","node_id":"0","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.812965609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.813009529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.816752745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"bfbc0da8-b66c-4e14-9e4e-58a0423df690","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.816816705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.816844265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.817716146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.824829647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"bfbc0da8-b66c-4e14-9e4e-58a0423df690","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.830363766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"bfbc0da8-b66c-4e14-9e4e-58a0423df690","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.830495166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"bfbc0da8-b66c-4e14-9e4e-58a0423df690","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.830519346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"bfbc0da8-b66c-4e14-9e4e-58a0423df690","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.830539346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"bfbc0da8-b66c-4e14-9e4e-58a0423df690","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.841049772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"bfbc0da8-b66c-4e14-9e4e-58a0423df690","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.841258512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.841286342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.844445407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.844478947Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.847830502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.847893823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.848332693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.852252849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.852314209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:e\"))","node_id":"2","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.855256444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.855318964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.858410029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.858472289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.858932039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.861120593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.861187573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.861213983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.861234353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.861685164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.863786057Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.871949009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.87208803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.8721288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.87237005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.876196356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.876749607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"bfbc0da8-b66c-4e14-9e4e-58a0423df690\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:e/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:35:02.871935Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:35:02.871935Z\")})","node_id":"3","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.880623523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.880658003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:02.8857266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"bfbc0da8-b66c-4e14-9e4e-58a0423df690","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.88578906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.885819251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.889442676Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.893503122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.893564702Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.894030553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.897068158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.897124078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.898159689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.901167984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.901250664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.901281704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.901310524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.903504398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.907472764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.907533084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.907568274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.908639425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.913335283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.913398433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.913428343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.914385074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.921546555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.933803744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.933925494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.933962574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.934021954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.934049534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.934385995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.938530331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.938642271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.938672161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.939714973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.94416675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.94424699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.94430765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.944866061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.949413828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.955320577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.955400057Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.955434577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.955625907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.97079832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.970876851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"bfbc0da8-b66c-4e14-9e4e-58a0423df690\"), \"state_generation\": Number(27), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.979249493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.979310353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.986675885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.986746795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.987967037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.990979381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.991053321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.991968933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:02.998856633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.998918473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:02.999494714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.003864111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.003939751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.003977151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.004007441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.004032261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.008673108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.008712248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.008746688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.009424639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.02266373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.02275455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.02278402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.02316644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.030508702Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.037435812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.037530732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.037561372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.038482724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.040569797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.040651787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.040683747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.040713067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.041104718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.051558994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.051615404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.051648394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.052100355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.064779744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.064853304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.064882194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.065435985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.071927585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.082251771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.084181544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.084242244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.091038144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.091093794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.094135789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.094182039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"17","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.100551059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.100622609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.105180916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.105384156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.111030705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.111246185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.117919095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.117951155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.1209234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.1209502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.123957795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.124092705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.131175596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.131240936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.139975469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.140042429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.149326533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.149385043Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.15381014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.15387124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.158213987Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.158296867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.162537804Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.162587944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.163878966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.163937856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.163959096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.165672018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.165723078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.169753495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.169806395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.171722938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.172442549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.178019827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.178065317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.178613508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.178642638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.183542856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.183593686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.18645923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.18657639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.190692387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.190744707Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.197196997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.197257147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.200095351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.200155121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.203945557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.203985197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.207714003Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.207766993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.210615217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.210670527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.216142396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.216240266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.21894856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.21934764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.222916066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.222978736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.226164881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.226209881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.228912955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.228958865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.23193338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.23198539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.235002394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.235051654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.239465591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.239510741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.244474629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.244530099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.247915394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.247968904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.25206577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.252165531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.256399367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.256667147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.260574233Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.260634874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.26510809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.2651478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:03.267149244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.273443973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.273515513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.277330059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.27812924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.280128723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.280160413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.283590099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.283622299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.286228643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.286282223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.289200937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.289235627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.294866736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.294908316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.295936058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.295970748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.299207763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.299711263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.299744503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.299767323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.300472094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.300526185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.303105088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.303147449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.306224063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.306259933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.309392918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.309422468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.315580048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.315638478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.321503607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.321545357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.326770975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.334392926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.334443116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.337935972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.337969572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.342195738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"bfbc0da8-b66c-4e14-9e4e-58a0423df690","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.342248678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.342281958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.342736339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.346656815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.346791515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":15,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.346861925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.346893775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.347534026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.348053487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.348146007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.351089882Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.351158742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.351186272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.351881933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.353299595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.353367025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.35616853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.3562388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.35626126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":15,"elapsed":"9.403674ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.35632275Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.35634419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.359193744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.359234974Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.362332719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.362636789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.363944451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.370191441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.370252951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.373784257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.373843787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.377133192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.377187482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.380696627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.380749047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.385847545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.385911695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.390173182Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.390216192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:03.396260181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_11\"","result":"failure","saga_name":"instance-start","saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.396397091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.396493231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"221da6ea-0511-4a5d-90ef-60d1daf58731","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 221da6ea-0511-4a5d-90ef-60d1daf58731, saga_log: SagaLog { saga_id: 221da6ea-0511-4a5d-90ef-60d1daf58731, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 failed, N016 started, N016 succeeded, N015 started, N015 succeeded, N016 undo_started, N016 undo_finished, N014 started, N014 succeeded, N015 undo_started, N015 undo_finished, N013 started, N013 succeeded, N014 undo_started, N014 undo_finished, N012 started, N012 succeeded, N013 undo_started, N013 undo_finished, N011 started, N011 succeeded, N012 undo_started, N012 undo_finished, N010 started, N010 succeeded, N011 undo_started, N011 undo_finished, N009 started, N009 succeeded, N010 undo_started, N010 undo_finished, N008 started, N008 succeeded, N009 undo_started, N009 undo_finished, N007 started, N007 succeeded, N008 undo_started, N008 undo_finished, N006 started, N006 succeeded, N007 undo_started, N007 undo_finished, N006 undo_started, N006 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: UndoFinished, 9: UndoFinished, 10: UndoFinished, 11: UndoFinished, 12: UndoFinished, 13: UndoFinished, 14: UndoFinished, 15: UndoFinished, 16: UndoFinished, 17: Failed(InjectedError), 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"ensure_local_storage_11\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.396762602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.396779422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.396791942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.396807762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.396822242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.396847162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.396861562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397199942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397219112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397234492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397248642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397263042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397276772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397290842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397305862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397323513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397347873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397363953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397379643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397393673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397406603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397418553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397433973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397448213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397463633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397480413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397501843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397521963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397535313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397548693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397560533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397573913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397586413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397604493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397618733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397635173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397654323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397666143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397692243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397764913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397779673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397799253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397813493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397827123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397840883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397852803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397864843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397876513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397889663Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397903133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397916483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397965794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397979884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.397993444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398009424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398029654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398041934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398056544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398069824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398085224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398099384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398120314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398146204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398167574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398181544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398196084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398210764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398228804Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398242784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398256844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398270174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398284084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398297784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398336964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398350414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398364544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.398379644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.413463847Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.413594437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.414069908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.416758922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.416819842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.417515243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.420161597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.420208588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.420841608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.423566213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.423610143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.423632673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.423651523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.424151554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.42838233Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.4284693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.42849155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.428913321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.436319492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.436383412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.436406992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.437075173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.440676859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.447223619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.447335929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.447381889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.447469599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.447528099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.447591449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.44800796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.451520075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.451635746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.451659146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.452217736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.454980501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.455030911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.455050131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.455860872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.458827027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.465122576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.465175566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.465191526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.465466117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.472192757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(28)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.481983582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(28)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49369967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49375106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49376646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49377988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49379483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49380794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49382985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49384639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49386216Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.4938758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49389021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49390458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49391705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49393084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49395992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49398772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49407075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.49408586Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494126501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494143481Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494163641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494177341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494191841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494205121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494217701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494236431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494561901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494590491Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494605691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494628951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494644431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494659301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494673871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494704671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494719131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494732731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494834412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494879892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494896222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494910362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494924012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494937142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494949252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494961592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494975432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.494990192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495005482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495025322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495038932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495053532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495067452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495080132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495092922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495105542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495118932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495133582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495146912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495165212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495181592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495195302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495207932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495221982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495237592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495251892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495266692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495280442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495292302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495309572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495322222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495334352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495346452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495358472Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495370602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495383512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495396852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495411332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.495423633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.512704469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.512768829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.51327844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.516893125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.516949805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.517525696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.519572269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.51976018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.520710531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.523367125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.523423285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.523443885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.523460985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.524108906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.52662021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.52666711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.52669341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.527249881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.530484546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.530551356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.530575056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.531150987Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.533721431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.539092279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.539173099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.539201229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.539222649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.53924772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.53948555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.542211714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.542300934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.542323804Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.542592025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.547559942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.547587862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.547606582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.548037943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.551031728Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.558795119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.55905795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.55912984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.55914631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.564558138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(28)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(18)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.569238595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"DpdEnsure","node_name":"dpd_ensure"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.569325645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.569351286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.569738716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":28,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.569941666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.573603412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(18)","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.573838042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.573921403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.574203683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.574226093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.577162167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.577238948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.580293472Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.580395482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.583492747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.583561537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"235fe107-7a58-4025-acbc-e96a6aa5e886\"))","node_id":"0","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.586586922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.586625302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.590589168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"235fe107-7a58-4025-acbc-e96a6aa5e886","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.590695238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.590726698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.591485769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.596829228Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"235fe107-7a58-4025-acbc-e96a6aa5e886","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.606760173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"235fe107-7a58-4025-acbc-e96a6aa5e886","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.606831193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"235fe107-7a58-4025-acbc-e96a6aa5e886","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.606857153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"235fe107-7a58-4025-acbc-e96a6aa5e886","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.606880073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"235fe107-7a58-4025-acbc-e96a6aa5e886","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.615451496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"235fe107-7a58-4025-acbc-e96a6aa5e886","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.615608096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.615632686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.619114422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.619167832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.623442898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.623508788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.624106469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.627570785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.627630805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:f\"))","node_id":"2","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.631600751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.631656751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.635061136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.635130316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.635542877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.639256812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.639315202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.639340863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.639361093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.639884913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.643593719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.65098939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.65103352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.65107117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.651474171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.656472999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.656541829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"235fe107-7a58-4025-acbc-e96a6aa5e886\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:f/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:35:03.650981Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:35:03.650981Z\")})","node_id":"3","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.659593183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.659649434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.66409901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"235fe107-7a58-4025-acbc-e96a6aa5e886","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.664178301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.664212321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.665125382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.668874278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.668931238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.669693539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.674734997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.675488678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.676098569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.678900593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.678993293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.679022083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.679048203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.679559564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.682636049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.682716679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.682753209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.68350533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.686815865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.686912025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.687038535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.687696916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.691061982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.697612312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.697691032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.697731072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.697760162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.697791812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.698393253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.702684129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.702745449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.70283991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.70331168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.706911116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.706954636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.706982256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.707503797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.710450931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.71611585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.71619859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.71622784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.71642229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.725196014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.725256344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"235fe107-7a58-4025-acbc-e96a6aa5e886\"), \"state_generation\": Number(29), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.728060798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.728130248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.731214333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.731288313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.732064754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.734450338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.734498278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.735095159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.740329457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.740455787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.741446299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.744490183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.744591563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.744623723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.744652084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.745282004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.750392662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.750439112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.750465122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.751133703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.754710469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.754786789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.754817829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.755416639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.759547265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.767843468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.767939148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.767975228Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.768317379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.770246872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.770336402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.770368922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.770412572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.770659362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.780987558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.781059728Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.781087698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.781728109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.790172772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:03.790236312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.790264482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.791189214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.794834329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.80169964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.803717243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.803785353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.80808962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.8081414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.814472709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.81456922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.820444109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.820501199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.823956834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.824016784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.827290239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.827352609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.83466681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.8347251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.839061057Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.839117027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.842767653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.842818333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.846264018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.846318358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.852208977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.852262847Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.855019761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.855081261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.858628097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.858679487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.865490497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.865559578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.872988629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.873046589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.879529849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.879647579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.882966944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.883019224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.885782948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.885827869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.889186134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.889227024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.894751682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.894808042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.897818417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.897874407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.900859411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.900912242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.903756176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.903816256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.907232811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.907290151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.910729847Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.910778817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.914570492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.914650633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"18","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.919068119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.919127549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"18","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.922614855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:03.922670115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.929278215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.929334765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.9329066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.932976721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.935471554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.935548555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.937835688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.937887948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.940292302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.940338512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.942500335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.942554575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.94564286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.94568965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.949755076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.949793346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.954493743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.954609514Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.959196161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.959254301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.962039045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.962076845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.969945077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.970002447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.972880102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.972932662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.975867516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.976042516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.978992131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.979057761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.982608126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.982662767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.987748164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.987820204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.990773939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.990834699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.993359483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.993415603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.995923067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.995968377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.999602672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:03.999677853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.002651047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.002687447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.005683572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.005740732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.009675328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.009739568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.012398942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.012503682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.015455607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.015516037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.018725972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.018780682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.022703798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.033559134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.033653615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.03733152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.03738941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.042796988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"235fe107-7a58-4025-acbc-e96a6aa5e886","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.042848489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.042893119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.043334239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.048777158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.052332253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":16,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.052397993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.052433673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.052792594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.053421815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.053458785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.060070155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.060125715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.060152745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.060598376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.061513527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.061567037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.064369351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.064403812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.065203063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.065260363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.065285683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":16,"elapsed":"13.01711ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.066753315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.066792045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.069263719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.069317609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.0698336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.073261905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.073311955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.078106482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.078174483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.080828977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.080889287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.083527591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.083577521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.089057509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.089107779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.092203684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.092275344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:04.09638721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"dpd_ensure\"","result":"failure","saga_name":"instance-start","saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.096506041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.096642661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"55c23a08-d6f2-491b-8c95-a93f38b6b424","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 55c23a08-d6f2-491b-8c95-a93f38b6b424, saga_log: SagaLog { saga_id: 55c23a08-d6f2-491b-8c95-a93f38b6b424, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 succeeded, N014 started, N014 succeeded, N013 started, N013 succeeded, N012 started, N012 succeeded, N011 started, N011 succeeded, N010 started, N010 succeeded, N009 started, N009 succeeded, N008 started, N008 succeeded, N007 started, N007 succeeded, N006 started, N006 succeeded, N018 started, N018 failed, N017 undo_started, N017 undo_finished, N006 undo_started, N006 undo_finished, N007 undo_started, N007 undo_finished, N008 undo_started, N008 undo_finished, N009 undo_started, N009 undo_finished, N010 undo_started, N010 undo_finished, N011 undo_started, N011 undo_finished, N012 undo_started, N012 undo_finished, N013 undo_started, N013 undo_finished, N014 undo_started, N014 undo_finished, N015 undo_started, N015 undo_finished, N016 undo_started, N016 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: UndoFinished, 9: UndoFinished, 10: UndoFinished, 11: UndoFinished, 12: UndoFinished, 13: UndoFinished, 14: UndoFinished, 15: UndoFinished, 16: UndoFinished, 17: UndoFinished, 18: Failed(InjectedError), 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"dpd_ensure\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.096926731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.096984211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.096998211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097010871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097023531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097036261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097048151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097059821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097071741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097084521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097096432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097108012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097120042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097131822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097143712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097155752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097167312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097179162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097190892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097230562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097267622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097281002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097295752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097309362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097321632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097333652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097347282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097418802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097434432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097446602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097458362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097469952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097481602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097493432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097505122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097546252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097672702Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097689522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097702442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097715262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097728612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097741412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097753973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097767913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097782293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097796593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097809143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097822923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097835153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097847813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097860583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097874033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097888833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097902463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097915053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097927983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097942393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097956693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097970653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097982783Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.097994913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098007273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098020473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098033493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098045893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098058413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098070783Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098084273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098096613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098108963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098122793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098136253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098156203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098168473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098180903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098218223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.098230553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.114920719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.114971349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.11559336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.120848428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.120902468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.121361989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.124107503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.124152613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.124613794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.127160177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.127211618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.127231828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.127247328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.127682338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.12896283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:565","component":"oximeter"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.129272761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.129698091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"cfdfec49-b7f4-4ba9-886a-620a5401c66f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.129735311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"cfdfec49-b7f4-4ba9-886a-620a5401c66f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.129932392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"cfdfec49-b7f4-4ba9-886a-620a5401c66f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.129969682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"cfdfec49-b7f4-4ba9-886a-620a5401c66f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.130836503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"cfdfec49-b7f4-4ba9-886a-620a5401c66f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.131880365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.131931535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.131952665Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.132306355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.134376889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"cfdfec49-b7f4-4ba9-886a-620a5401c66f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":4683,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.134778159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"cfdfec49-b7f4-4ba9-886a-620a5401c66f\", \"content-length\": \"405\", \"date\": \"Wed, 10 Jun 2026 21:35:04 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.13512671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.135728261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"a34c993c-d8c9-486c-80f7-722d6f656b0d","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.135769101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"a34c993c-d8c9-486c-80f7-722d6f656b0d","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.136038201Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"a34c993c-d8c9-486c-80f7-722d6f656b0d","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.136095011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"a34c993c-d8c9-486c-80f7-722d6f656b0d","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.137176813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"a34c993c-d8c9-486c-80f7-722d6f656b0d","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.138047544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.138176724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.138218864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.138966076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.141203239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"a34c993c-d8c9-486c-80f7-722d6f656b0d","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":5474,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.14160191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a34c993c-d8c9-486c-80f7-722d6f656b0d\", \"content-length\": \"29\", \"date\": \"Wed, 10 Jun 2026 21:35:04 GMT\"} })"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.14185595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.14190402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de"} {"msg":"refreshed list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.14192215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:640","component":"oximeter","n_current_tasks":2,"n_pruned_tasks":0} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.14213086Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.147912419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.147962979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.147977889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.148000489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.148017899Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.148033839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.14827818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.151456675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.151500085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.151517555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.152000155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.15518552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.15523336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.15525389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.155693631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.158463575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.171002924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.171089125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.171148385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.171429765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.178624206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.178691836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.178797336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.179511938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.179551448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.18130633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(30)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.183760174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(30)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.184880136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.185480317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.187322969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.18741624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.192063217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.192125277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201382661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201431971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201447031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201460441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201473841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201487021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201500941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201513901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201674031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201724501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201740661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201753712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201766942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201779942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201793292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201805902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201818822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201831842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201844342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201856572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201869272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201882092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201894442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201906162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201918872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201931602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201945402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201958712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201972812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201985572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.201997742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202010112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202030722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202043842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202056162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202068492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202081592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202093642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202105492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202118402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202131342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202143822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202162892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202175182Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202187562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202199812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202211902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202224462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202236932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202249402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202262052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202274642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202287302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202301792Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202315052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202327652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202341382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202355042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202366972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202379392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202391422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202402943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202414773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202427063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202439083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202450953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202553883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202582193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202596063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202609133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202621913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202634703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202646833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202659023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202673343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202686393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.202700073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.222936294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.222995894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.223536175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.22682174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.22686379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.227269191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.229294274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.229342634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.230145905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.232558539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.232649319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.232671919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.232688039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.23314977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.237491246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.237536056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.237553866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.237951577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.242458744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.242520014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.242546824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.243201355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.248429603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.257913887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.258087338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.258165058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.258215218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.258254598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.260084761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.265624539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.265656239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.265675929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.267183432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.274680203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.274812523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.274837173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.277738938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:04.279854221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.281503853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.287265662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.287326772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.287374582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.287797163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.290721628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(30)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(19)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.295194794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"V2PEnsure","node_name":"v2p_ensure"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.295258644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.295283515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.295575085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":30,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.295741975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.298250099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.298305909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.300046362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.300594893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.300637493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.300658503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.301146603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(19)","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.302839376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.302919976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.303132007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.303156597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.308041354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.308094394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.311244009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.311290399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.314405254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.314465784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"bbf8c246-8306-4276-a097-e228fabb81ba\"))","node_id":"0","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.316832347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.316871008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.319410571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"bbf8c246-8306-4276-a097-e228fabb81ba","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.319437271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.319458541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.319922282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.323161367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"bbf8c246-8306-4276-a097-e228fabb81ba","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.328354075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"bbf8c246-8306-4276-a097-e228fabb81ba","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.328411485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"bbf8c246-8306-4276-a097-e228fabb81ba","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.328432415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"bbf8c246-8306-4276-a097-e228fabb81ba","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.328451445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"bbf8c246-8306-4276-a097-e228fabb81ba","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.334408364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"bbf8c246-8306-4276-a097-e228fabb81ba","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.334521344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.334543185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.337200019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.337258299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.339804963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.339909013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.340394073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.343412358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.343472128Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:10\"))","node_id":"2","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.346582943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.346635853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.350095178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.350187018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.350628969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.353268813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.353321683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.353669354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.353740464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.356729858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.359385383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.362427087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.362473567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.362504047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.365291952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.370403549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.370456849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"bbf8c246-8306-4276-a097-e228fabb81ba\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:10/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:35:04.362424Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:35:04.362424Z\")})","node_id":"3","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.373670424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.373720714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.376488659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"bbf8c246-8306-4276-a097-e228fabb81ba","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.376617229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.376658709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.37713833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.379365503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.379478673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.379988304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.382353668Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.382428928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.382793908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.384898032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.384987752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.385018772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.385046642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.387395445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.39067014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.39076521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.390795361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.391326101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.395295987Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.395403758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.395435708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.395809578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.402101848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.407208046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.407326616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.407369176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.407401096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.407431106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.407675196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.411247622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.411414232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.411450202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.412231863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.422705629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.422775689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.422804449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.42326829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.426823536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.434957308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.435057098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.435088608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.435296089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.445334224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.445409494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"bbf8c246-8306-4276-a097-e228fabb81ba\"), \"state_generation\": Number(31), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.451387343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.451446343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.457463392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.457653823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.458920065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.468347609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.468407779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.4691181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.472916026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.473019666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.473728147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.477206513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.477303373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.477361953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.477393543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.477887344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.481549449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.481608859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.481639959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.48232425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.487819369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.487885939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.487917669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.48848056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.492040735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.504607775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.504698605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.504728655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.50825229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.509712132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.509770762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.509832063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.509872903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.510172473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.514160169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.514229249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.514260049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.51477323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.518135525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.518204705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.518236585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.519222527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.522194871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.528659101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.530423294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.530470704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.533676509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.533726059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.538786557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.538836097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.541999952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.542058832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.547775281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.547835381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.552231417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.552298397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.555858963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.555912383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.559169568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.559223438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.563063234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.563116574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.567458181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.567507741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.574076601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.574117561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.576599355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.576674445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.579620709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.579673459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.582576704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.582609074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.58661596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.58668281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.593646391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.593707291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.596639195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.596695235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.59956133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.5996151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.602606144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.602700015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.605131278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.605293628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.609924946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.609980836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.614853293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.614901743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.617908178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.617962748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.623183706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.623227456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.630584617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.630642617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.634008262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.634063082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"18","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: ensuring instance dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.637692188Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.637756168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.637811648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.638223369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.641886604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.641962535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.641988725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.642010515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.642509575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.646614232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.652553141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"looking up instance's primary network interface","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.652627421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.652646281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.652680111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.652980151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.656820167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.656867007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.657267358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.659294421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.659354141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.659598751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.661615185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.661696995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.661726865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.661753645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.662083915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.66516967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.66523386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.66526456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.665805921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.673615913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.673700773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.673731343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.674310494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.67808183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.686699213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.686800543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.686839573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.686870933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.686900523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.687097604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.693248483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.693338013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.693367183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.694136564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.69818926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.698261791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.698294181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.699084802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.703428209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.709849098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.709942598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.709971419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.710271769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"looking up instance's external IPs","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.715767357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.715823207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.715856748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.716429228Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.721275136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.721324106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.721903937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.726622544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.726680314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.726701754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.726720204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.727841096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.73027999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.734539646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.734577916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.734599286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.734940407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.739287833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.739921084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:17938","req_id":"2dab5fff-d736-46de-9e5c-d4f2584d2ee0","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: d0 1e 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 ............._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.739970414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:17938","req_id":"2dab5fff-d736-46de-9e5c-d4f2584d2ee0","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 53278,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.740113985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.740213255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.740265435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:17938","req_id":"2dab5fff-d736-46de-9e5c-d4f2584d2ee0","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.740580745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1145, tv_nsec: 201489754 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.740620205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.740816766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:1313","req_id":"4f19e9c8-e402-4875-87ad-4a255a04bb2d","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: ea 6a 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e .j..........-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.740901436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:1313","req_id":"4f19e9c8-e402-4875-87ad-4a255a04bb2d","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 60010,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.741142626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.741253466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:1313","req_id":"4f19e9c8-e402-4875-87ad-4a255a04bb2d","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.792131693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.793169965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"19277ab8-a1df-480a-b562-5de7d5758e68\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:35:04 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.793521535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.793566035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.794248427Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"no subnets attached to instance, nothing to notify Dendrite about","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.815026078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.8162284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.81626731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"18","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.821629078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.821677908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"19","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.824184362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.824329392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"19","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.827644598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.827704458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.838886925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.838945405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"18","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: undoing dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.843198151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.843263351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.843295611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.843894492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.847025187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.847076497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.847704368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.850413872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.850448712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.854086038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.856637382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.856706672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.856739712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.856768112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.857349893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.860414418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.860473848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.860502928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.861106699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.864695984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.864754274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.864782934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.865054725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.873287497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.880356268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"deleting instance dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:04.880451748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.880470378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.880499438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.880694359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.883924344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.883963794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.884435994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.88799627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.88807901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.88839577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.913471719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.913549809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.913576869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.913678729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.91401558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.922884153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.92721787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.92727677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.92730142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.927984321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.931628727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.932535008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:4785","req_id":"8d46c856-5701-4e04-8c28-3c2e56420077","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 86 a5 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 ............._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.932618208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:4785","req_id":"8d46c856-5701-4e04-8c28-3c2e56420077","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 34469,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.932805418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.932888818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.932950069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:4785","req_id":"8d46c856-5701-4e04-8c28-3c2e56420077","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.933339329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1145, tv_nsec: 394197418 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.933379459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.93363662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:54037","req_id":"cc57389e-4c51-4f88-b710-fbba36febd37","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 3c c9 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e <...........-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.93367588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:54037","req_id":"cc57389e-4c51-4f88-b710-fbba36febd37","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 15561,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.93377555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.93383656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:54037","req_id":"cc57389e-4c51-4f88-b710-fbba36febd37","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.980986412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:04.982389284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ec49aba9-3957-48b4-ad20-0a850b7d518c\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:35:04 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.982816175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.982851265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"18","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.98624471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.98631887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.990058846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.990143466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.993139871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.993222381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.995869015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:04.995931355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.003009556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.003069806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.00578711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.00584096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.011051558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.011174288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.016084126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.016179236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.020833363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.020905013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.024076508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.024154858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.027391263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.027435673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.029951477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.029993467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.036167696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.036269647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.041514365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.041574905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.045525141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.045577141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.053877753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.053910603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.066473733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.066528953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.070360059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.070411959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.073779614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.073816624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.076865779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.076902109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.079950623Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.080003603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.082260817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.082297947Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.084730181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.084779791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.087093624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.087142574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.090231989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.090276259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.093075533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.093133883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.098566662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.098624612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.102589208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.107679066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.107743626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.11046966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.11057275Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.113747595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"bbf8c246-8306-4276-a097-e228fabb81ba","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.113806945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.113839335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.114501846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.119406954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.119462204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":17,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.119483574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.119527354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.120141045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.120685056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.120718656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.123243749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.12332441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.12335025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.124042951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.127933277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.128039187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.134386777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.134440847Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.134876227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":17,"elapsed":"15.133853ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.135622908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.135773549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.139467884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.139527844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.142805899Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.1429777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.143817261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.147088266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.147142246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.15001737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.15004997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.154378227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.154574767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.157370352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.157424952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.160837447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.160876257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.163889932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.163990732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:05.168290678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"v2p_ensure\"","result":"failure","saga_name":"instance-start","saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.168697069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.168762339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"8fc81028-f38c-4076-8b52-f06a18198841","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 8fc81028-f38c-4076-8b52-f06a18198841, saga_log: SagaLog { saga_id: 8fc81028-f38c-4076-8b52-f06a18198841, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 succeeded, N014 started, N014 succeeded, N013 started, N013 succeeded, N012 started, N012 succeeded, N011 started, N011 succeeded, N010 started, N010 succeeded, N009 started, N009 succeeded, N008 started, N008 succeeded, N007 started, N007 succeeded, N006 started, N006 succeeded, N018 started, N018 succeeded, N019 started, N019 failed, N018 undo_started, N018 undo_finished, N017 undo_started, N017 undo_finished, N006 undo_started, N006 undo_finished, N007 undo_started, N007 undo_finished, N008 undo_started, N008 undo_finished, N009 undo_started, N009 undo_finished, N010 undo_started, N010 undo_finished, N011 undo_started, N011 undo_finished, N012 undo_started, N012 undo_finished, N013 undo_started, N013 undo_finished, N014 undo_started, N014 undo_finished, N015 undo_started, N015 undo_finished, N016 undo_started, N016 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: UndoFinished, 9: UndoFinished, 10: UndoFinished, 11: UndoFinished, 12: UndoFinished, 13: UndoFinished, 14: UndoFinished, 15: UndoFinished, 16: UndoFinished, 17: UndoFinished, 18: UndoFinished, 19: Failed(InjectedError), 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"v2p_ensure\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.168921539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.168938569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.168951799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.168965119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169022939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16908011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16912662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16917575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16922858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16926445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.1693228Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16936006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16941595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16945846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16947333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16948692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16949907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.1695142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16952818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16954061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16955229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16956972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16958314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16959485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16960633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16963725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.16965094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169729751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169745331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169761121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169775021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169788701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169801591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169813581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169828351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169843341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169857081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169869911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169882241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169895131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169908611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169921711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169947981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169963611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169976951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.169989161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170001281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170013701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170025211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170038301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170049791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170061631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170073321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170085071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170100291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170112841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170124181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170135531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170154251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170170491Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170183111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170198291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170211691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170224771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170237601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170248821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170260251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170275361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170289111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170302001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170313681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170327771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170341511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170355422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170367312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170453952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.170466532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.198459764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.198518795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.199374836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.200102927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.200186807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.200666698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.201462229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.201513699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.204157523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.204484894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.205407815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.20845279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.209196601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.213994958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.21527209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.215513181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.215537721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.221030519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.223901033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.223954633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.224071174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.224120284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.224170384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.224223174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.224669525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.23454184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.23459931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.23461809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.235173711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.238789506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.238838816Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.238858046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.239541387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.244474885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.250000553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.250588404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.250615734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.250641634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.250662474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.250679644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.251313905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.259389738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.259442968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.259461508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.260035309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.264304235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.264361305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.264380465Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.265325937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.269336363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.276293283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.276355694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.276375464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.276679414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.280029499Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(32)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.285528478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(32)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.297772846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.297830866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.30002822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.30028265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.30029795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.30031046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.3003239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.30033764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.30034935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.30036124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.30037267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.300919801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.300973541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.300989151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301004371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301019891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301033161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301049341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301065011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301080181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301096181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301109681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301126881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301140401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301157141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301204142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301219052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301234352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301248732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301260832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301299072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301313832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301328012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301341682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301354242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301367472Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301380452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301393112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301406022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301418732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301431262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301445492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301459442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301472292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301487752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301504742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301520992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301536142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301550312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301586402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301600642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301612782Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301625712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301639392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301652542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301665452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301677982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301692682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301705112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301717092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301729122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301741622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301753982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301766622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301779562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301792252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301804222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301816563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301828673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301840343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301854213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301867643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301906393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301920643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301934703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301961013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301974093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301985883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.301997703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.325521509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.325570179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.32627413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.327228861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.328178053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.328237893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.328260413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:05.328571103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.330231936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.330343476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.331151667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.334054482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.334091832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.334934333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.337825808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.337898088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.337924108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.337944868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.338140138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.341696903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.341726764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.341747424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.342659635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.345430029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.345484959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.345504529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.34601927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.350607267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.361431134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.361499874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.361525604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.361763654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.361783954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.362806966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.365943931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.365996681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.366015981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.367684143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.370738538Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.370790638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.370810938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.370825588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.377080288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.384767169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.384852439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.384871209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.38524748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.387823144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(32)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(20)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.39169912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"EnsureRegistered","node_name":"ensure_registered"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.39174968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.39177282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.392902892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":32,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.393355492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.399063641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(20)","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.400525633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.400586014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.400609334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.400629714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.403486738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.403539998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.407490824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.407536584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.41128792Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.41135179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"f81437fc-3f92-48e4-ab32-e3b553e44e0b\"))","node_id":"0","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.416344998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.416457318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.421365455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"f81437fc-3f92-48e4-ab32-e3b553e44e0b","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.421609486Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.421636376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.421946316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.425507832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"f81437fc-3f92-48e4-ab32-e3b553e44e0b","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.434387235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"f81437fc-3f92-48e4-ab32-e3b553e44e0b","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.434451795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"f81437fc-3f92-48e4-ab32-e3b553e44e0b","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.434473025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"f81437fc-3f92-48e4-ab32-e3b553e44e0b","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.434491195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"f81437fc-3f92-48e4-ab32-e3b553e44e0b","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.445264732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"f81437fc-3f92-48e4-ab32-e3b553e44e0b","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.445384702Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.445410482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.448530937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.448584897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.456024598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.456207339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.45698399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.462613968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.462707378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:11\"))","node_id":"2","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.468285137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.468348807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.473803375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.473867446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.475974209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.478663263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.478749503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.478776153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.478796963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.479429134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.48337548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.490975582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.491032822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.491071252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.491726093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.496056049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.49609044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"f81437fc-3f92-48e4-ab32-e3b553e44e0b\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:11/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:35:05.490961Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:35:05.490961Z\")})","node_id":"3","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.501458928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.501505858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.506469745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"f81437fc-3f92-48e4-ab32-e3b553e44e0b","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.506796496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.506840976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.507819417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.511240903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.511356963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.512332124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.518321104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.519667526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.520388037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.523461831Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.523871572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.523904232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.523931502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.524266183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.530044621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.530108612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.530138752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.531280753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.534198528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.534245518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.534275448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.535079659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.538131894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.543304052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.543392772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.543431262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.543459952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.543487682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.543653192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.546315676Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.546387926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.546417556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.546739637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.550098622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.550174502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.550203512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.550468653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.554307609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.559170656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.559259676Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.559288686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.559534127Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.569081111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.569141251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"f81437fc-3f92-48e4-ab32-e3b553e44e0b\"), \"state_generation\": Number(33), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.572008156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.572058336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.57517696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.575234231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.575710311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.578010815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.578070335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.578563756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.582850332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.582924632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.583401883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.590769524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.590854214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.590883834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.590914044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.591649126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.59479901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.594860781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.594893901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.595459981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.598894407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.598958697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.598988577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.599300747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.603867034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.611942347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.612026097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.612054847Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.612278747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.61385763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.61392441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.61395492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.61398125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.61434064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.617707725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.617755016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.617784066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.621477261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.624789646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.624838416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.624865566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.625438877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.628485112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.637699136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.639439039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.639474049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.645834098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.645904719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.648944893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.649018763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.65358557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.6536487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.658707388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.658737358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.661408222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.661461332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.664830687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.664900828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.671969898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.672026149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.675635924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.675684584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.678519988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.678571489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.681520963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.681569393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.684153347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.684208247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.688044603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.688096163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.690792187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.690843547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.696582546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.696617966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.701869074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.701927534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.704766159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.704835739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.707636173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.707678053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.710380247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.710481047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.724244118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.724300888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.729973087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.730027207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.732483871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.732524221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.736775237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.736847808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.739641482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.739691712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.744485279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.744534459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.750070118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.750100498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"18","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: ensuring instance dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.754589675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.754689385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.754722905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.755298825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.759435601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.759546111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.759608832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.759629862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.760055472Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.763002247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.767923674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"looking up instance's primary network interface","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.767960304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.767975074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.768004264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.768276785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.770877219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.770950449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.7714466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.774710995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.775144225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.775424986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.777643179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.777732049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.777763949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.777789939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.77821961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.780889764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.780948184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.780982334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.781425805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.78489814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.78499006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.78502225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.785809532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.789475917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.801875746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.801941726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.801977106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.802028706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.802055966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.803406379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.807300214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.807358195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.807385805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.809281907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.814144455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.814209855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.814244015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.814866516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.818475402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.832367253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.832458673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.832486113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.832730353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"looking up instance's external IPs","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.836660459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.836715789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.836749179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.837725081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.840740706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.840834666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.84344371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.846289184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.846337064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.846359424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.846379024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.847450116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.84996322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.852390753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.852438013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.852458673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.862680869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.866445995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.867117146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:44626","req_id":"8ca998e8-d4ab-4702-8104-a9dea76d6a94","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 80 53 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 .S..........._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.867233026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:44626","req_id":"8ca998e8-d4ab-4702-8104-a9dea76d6a94","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 32851,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.867574367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.867712747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.867733467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:44626","req_id":"8ca998e8-d4ab-4702-8104-a9dea76d6a94","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.868171458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1146, tv_nsec: 329095636 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.868213238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.868432178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:57612","req_id":"e4794c3f-16af-41fa-a4f1-a18324806227","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 94 6d 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e .m..........-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.868467058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:57612","req_id":"e4794c3f-16af-41fa-a4f1-a18324806227","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 37997,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.868556388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.868573728Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:57612","req_id":"e4794c3f-16af-41fa-a4f1-a18324806227","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.933652118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.935871211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d2072c94-7526-46be-9835-80e0e7c77441\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:35:05 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.936315662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.936361962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.937105373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"no subnets attached to instance, nothing to notify Dendrite about","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.953992749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.955638091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.955684141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"18","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.959377857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.959442477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"19","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.963977074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.964042524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.964065364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.964876345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.965326636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.965349546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"19","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.96802291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.96810064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"20","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.971564536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.971621516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"20","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.977592865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:05.977657485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.978048766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.978091536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.978582466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.982199632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.982245632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"19","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.98759406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.98765026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:05.98767252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.98769269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.988173591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.992936588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.993002938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"19","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:05.995334222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.000245429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.00030252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.00032512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.001491341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.001522501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.002411663Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.003542894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.003592235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"18","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.005840808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.011031096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.011468447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.011533247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.012020407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"start saga: undoing dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.01378631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.014336231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.014368931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.014892372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.017830576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.018219337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.018924198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.067479892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/v2p","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.068018643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:46362"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.071368958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"0c47e5de-e8b4-4316-a0fe-d641917aa2c6","remote_addr":"[::1]:46362","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.071628219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"0c47e5de-e8b4-4316-a0fe-d641917aa2c6","remote_addr":"[::1]:46362","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.071654539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"0c47e5de-e8b4-4316-a0fe-d641917aa2c6","remote_addr":"[::1]:46362","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":182,"response_code":200} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.071678929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.071708349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.07225427Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.076255046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"0c47e5de-e8b4-4316-a0fe-d641917aa2c6\", \"content-length\": \"2\", \"date\": \"Wed, 10 Jun 2026 21:35:06 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.076432626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","interfaces":"{}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.076457646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"v2p mappings to add","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.076474696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[VirtualNetworkInterfaceHost { physical_host_ip: ::1, virtual_ip: 172.30.0.5, virtual_mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503) }]","sled":"SimGimlet00"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.076603946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:62019/v2p","method":"PUT"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.077450347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"PUT","req_id":"7e3bbc4a-6989-4d4f-8004-74ecc50f8ad9","remote_addr":"[::1]:46362","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.077511358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"PUT","req_id":"7e3bbc4a-6989-4d4f-8004-74ecc50f8ad9","remote_addr":"[::1]:46362","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.077823968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"PUT","req_id":"7e3bbc4a-6989-4d4f-8004-74ecc50f8ad9","remote_addr":"[::1]:46362","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":366,"response_code":204} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.077873098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.077970178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.078000098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.078050078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.078614589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.086072581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/v2p\", status: 204, headers: {\"x-request-id\": \"7e3bbc4a-6989-4d4f-8004-74ecc50f8ad9\", \"date\": \"Wed, 10 Jun 2026 21:35:06 GMT\"} })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.086179151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":2,"elapsed":"122.203067ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.086206481Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":3,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.086298731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.086324881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.086788752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.089701106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.089753656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.089779946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.090165027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.097578018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.097647268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.097675248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.098179769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.099137731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.099215131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.099568691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.102003655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.110306588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"deleting instance dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.110376468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.110394828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.110469538Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.110766128Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.114384944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.114452184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.114477494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.114500614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.115621186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.117963119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.118014519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.11865822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.119340522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.121916985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.121956266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.121978836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.122006026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.122027076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.122630237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.12488458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.12493382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.125253911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.126056362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.128658916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.128707756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.128728926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.128745796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.129611347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:565","component":"oximeter"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.129983748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.130307598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a43da4eb-a999-47fe-9867-851f8fcdff38","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.130366098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a43da4eb-a999-47fe-9867-851f8fcdff38","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.13133103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a43da4eb-a999-47fe-9867-851f8fcdff38","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.13139707Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a43da4eb-a999-47fe-9867-851f8fcdff38","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.13160912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a43da4eb-a999-47fe-9867-851f8fcdff38","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.202423349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/v2p","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.202977319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.203010849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.203032329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.20305214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.20347239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.204716272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a43da4eb-a999-47fe-9867-851f8fcdff38","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":74389,"response_code":200} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.205671864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:44617"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.206324685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a43da4eb-a999-47fe-9867-851f8fcdff38\", \"content-length\": \"405\", \"date\": \"Wed, 10 Jun 2026 21:35:06 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.206400135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.206540885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.206597705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.206822925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.207440746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.207472666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.207583036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.20986889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.20992181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.20994525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.21022424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.211272782Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"b0a03203-dcba-43eb-b23d-0fbb2c3355dc","remote_addr":"[::1]:44617","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.211330022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"b0a03203-dcba-43eb-b23d-0fbb2c3355dc","remote_addr":"[::1]:44617","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.211359372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"9a515136-0ac2-418d-a9cb-fab8a9abc35a","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.211386202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"9a515136-0ac2-418d-a9cb-fab8a9abc35a","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.211926583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.212602664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.2162247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"9a515136-0ac2-418d-a9cb-fab8a9abc35a","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.21627399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"9a515136-0ac2-418d-a9cb-fab8a9abc35a","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.21666375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"9a515136-0ac2-418d-a9cb-fab8a9abc35a","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.217615862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"b0a03203-dcba-43eb-b23d-0fbb2c3355dc","remote_addr":"[::1]:44617","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":6308,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.219571555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"b0a03203-dcba-43eb-b23d-0fbb2c3355dc\", \"content-length\": \"102\", \"date\": \"Wed, 10 Jun 2026 21:35:06 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.219882575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","interfaces":"{VirtualNetworkInterfaceHost { physical_host_ip: ::1, virtual_ip: 172.30.0.5, virtual_mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.219918695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"v2p mappings to add","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.219939965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.219958815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":3,"elapsed":"133.670814ms"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.220045935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.220824627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"9a515136-0ac2-418d-a9cb-fab8a9abc35a","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":9224,"response_code":200} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.221093167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.221123457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.221729698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"9a515136-0ac2-418d-a9cb-fab8a9abc35a\", \"content-length\": \"29\", \"date\": \"Wed, 10 Jun 2026 21:35:06 GMT\"} })"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.221798808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.221820498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de"} {"msg":"refreshed list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.221841928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:640","component":"oximeter","n_current_tasks":2,"n_pruned_tasks":0} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.222523399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:63727","req_id":"442d4d54-02cc-4c3f-8ee6-53cddcd58f3b","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: e3 cf 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 ............._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.222578099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:63727","req_id":"442d4d54-02cc-4c3f-8ee6-53cddcd58f3b","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 58319,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.222652689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.22284293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.22286475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:63727","req_id":"442d4d54-02cc-4c3f-8ee6-53cddcd58f3b","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.22290417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1146, tv_nsec: 683758619 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.22293573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.22320163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.22325185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.223336911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:21960","req_id":"429a2ab6-75c8-4ce3-ad6d-4c965d0a1357","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: fe 84 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e ............-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.223383221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:21960","req_id":"429a2ab6-75c8-4ce3-ad6d-4c965d0a1357","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 65156,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.223492051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.223507101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:21960","req_id":"429a2ab6-75c8-4ce3-ad6d-4c965d0a1357","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.282702461Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.28816546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a36118ee-ac47-4373-9461-5658222d4c58\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:35:06 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.289194711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.289305951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"18","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.292685727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.292716677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.295334401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.295382281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.298172095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.298250425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.298729036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.298777986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.302343811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.302828602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.302867512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.302888382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.305015175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.305055265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.307490419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.307518909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:06.308755471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.310567404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.310651334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.313886519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.313936439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.316816703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.316870114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.319534088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.319619208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.322203332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.322257212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.326119998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.326181338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.331765826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.331845146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.334751121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.334886871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.337625495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.337901266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.34046363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.34050779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.343981665Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.344013445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.348859772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.348907392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.354512001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.354581501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.358297037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.358349867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.362114103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.362205563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.366196019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.366231869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.368987683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.369066483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.375304913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.375356663Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.378555688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.378606388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.383203435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.383237345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.390267986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.390307836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.394376242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.394415142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.397963537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.402380224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.402422344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.408667054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.408771634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.411859409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"f81437fc-3f92-48e4-ab32-e3b553e44e0b","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.411912339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.411943629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.41279247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.416667206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.416753906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":18,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.417006067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.417036867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.417538187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.418243689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.418268379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.425418779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.42547221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.426401461Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.426489281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.426515911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.426977192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.430061997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.430137977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.430849458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.430893098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.430911178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":18,"elapsed":"14.146162ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.435719545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.435779225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.438300659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.438350739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.43887904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.442437455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.442485946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.446032241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.446090291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.448618525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.448668935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.451598709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.45162788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.455514425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.455569686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.45818725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.45822575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:06.462634826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_registered\"","result":"failure","saga_name":"instance-start","saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.462731397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.462951357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"37c9ce6d-733d-4810-a17a-04cf17f4fd4c","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 37c9ce6d-733d-4810-a17a-04cf17f4fd4c, saga_log: SagaLog { saga_id: 37c9ce6d-733d-4810-a17a-04cf17f4fd4c, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 succeeded, N014 started, N014 succeeded, N013 started, N013 succeeded, N012 started, N012 succeeded, N011 started, N011 succeeded, N010 started, N010 succeeded, N009 started, N009 succeeded, N008 started, N008 succeeded, N007 started, N007 succeeded, N006 started, N006 succeeded, N018 started, N018 succeeded, N019 started, N019 succeeded, N020 started, N020 failed, N019 undo_started, N019 undo_finished, N018 undo_started, N018 undo_finished, N017 undo_started, N017 undo_finished, N006 undo_started, N006 undo_finished, N007 undo_started, N007 undo_finished, N008 undo_started, N008 undo_finished, N009 undo_started, N009 undo_finished, N010 undo_started, N010 undo_finished, N011 undo_started, N011 undo_finished, N012 undo_started, N012 undo_finished, N013 undo_started, N013 undo_finished, N014 undo_started, N014 undo_finished, N015 undo_started, N015 undo_finished, N016 undo_started, N016 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: UndoFinished, 9: UndoFinished, 10: UndoFinished, 11: UndoFinished, 12: UndoFinished, 13: UndoFinished, 14: UndoFinished, 15: UndoFinished, 16: UndoFinished, 17: UndoFinished, 18: UndoFinished, 19: UndoFinished, 20: Failed(InjectedError), 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"ensure_registered\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463259377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463292397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463307787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463322337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463383698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463418898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463440768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463455068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463467988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463480278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463492298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463505508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463518788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463532348Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463547438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463561218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463573688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463588338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463668748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463745198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463760528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463772708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463784518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463799278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463814148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463829088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463843318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463860078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463874808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463889158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463902388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463920178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463932278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463945488Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463958598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463970158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463983558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.463997148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464012508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464045589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464060149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464075389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464091809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464105709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464119439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464132029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464144379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464157189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464193769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464245409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464282969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464297109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464311229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464329239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464341919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464355299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464368319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464380219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464393389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464407519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464421009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464432599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464444069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464459169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464470979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464485029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464498529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464511459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464526719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464542339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464555289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464572409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464587619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464603189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464616699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464630369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.464665909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.481800466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.481854846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.482491457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.48484662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.48489362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.485378221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.489109877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.489156077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.489663058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.491781471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.492349512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.492480542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.492501612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.493132983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.49757745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.49763164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.49765226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.498799772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.501376506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.501436566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.501458636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.502272717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.509288248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.522415528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.522473448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.522490298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.522516478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.522536718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.522555338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.522843608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.525757543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.525816453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.525834493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.526452884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.537381511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.537584191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.537611981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.538845403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.545774673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.550757991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.550822851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.550842691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.551077152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.554297987Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(34)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.557067831Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(34)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565668854Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565718414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565733644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565746364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565758704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565772134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565785564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565798494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565811004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565824414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565839234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565852184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565863894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565877164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565889984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565904444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565918374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565930094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565941464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565955324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565968264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.565981344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566005894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566019664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566031844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566043494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566056234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566069095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566082345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566093635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566105195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566119625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566131955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566143635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566160955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566172285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566185745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566198555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566212295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566227065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566240385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566253695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566266025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566279585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566291455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566302975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566350815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566385245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566399395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566427175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566442845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566456035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566468715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566481985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566494495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566507485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566519615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566532515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566545655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566557295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566569755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566585225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566597735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566611655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566627275Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566641535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566655505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566674505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566689915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566703295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566716125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566727766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566741326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566754346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566767056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566778566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.566790596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.581288678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.581350868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.581829669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.584548533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.584770313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.585890455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.589684551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.589830411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.590606382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.593241176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.593289466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.593309266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.593338406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.594187787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.600378307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.600427877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.600450597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.600880678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.603618512Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.603694252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.603792392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.604151703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.6091206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.617220173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.617273223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.617300063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.617319643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.617337073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.619450926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.62166656Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.6217175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.62173784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.622516891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.627094638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.627147168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.627165708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.627670649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.632512746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.643760943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.643805683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.643824293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.644307764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.647366489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(34)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(21)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.649886333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"UpdateMulticastSledId","node_name":"multicast_sled_id"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.649931903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.649954533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.652700607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":34,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.652870697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.660565369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(21)","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.660624619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.660644909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.660664779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.660682139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.663585084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.663636214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.666460288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.666492478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.669499743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.669548853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"707989bf-2e9e-4b1c-86be-4e8f1c59d16e\"))","node_id":"0","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.674798011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.674847251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.677862965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"707989bf-2e9e-4b1c-86be-4e8f1c59d16e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.677927826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.677987306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.678704787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.682677883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"707989bf-2e9e-4b1c-86be-4e8f1c59d16e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.691400326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"707989bf-2e9e-4b1c-86be-4e8f1c59d16e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.691445136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"707989bf-2e9e-4b1c-86be-4e8f1c59d16e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.691488726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"707989bf-2e9e-4b1c-86be-4e8f1c59d16e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.691533706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"707989bf-2e9e-4b1c-86be-4e8f1c59d16e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.701940262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"707989bf-2e9e-4b1c-86be-4e8f1c59d16e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.703136884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.703182624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.708145802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.708220982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.711026856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.711156866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.711699307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.715212133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.715270213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:12\"))","node_id":"2","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.718215327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.718257787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.721699382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.721757143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.722362423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.725456028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.725490438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.725552548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.725572898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.725966159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.728197012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.732051008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.732121718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.732157458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.732565089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.741294952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.741550103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"707989bf-2e9e-4b1c-86be-4e8f1c59d16e\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:12/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:35:06.732031Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:35:06.732031Z\")})","node_id":"3","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.7464411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.746604981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:06.749763875Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"707989bf-2e9e-4b1c-86be-4e8f1c59d16e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.749815185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.749886166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.750626887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.755043183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.755112793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.755668454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.757510446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.757566546Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.759132609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.761236732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.761309782Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.761338482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.761366852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.762010073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.765032968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.765106838Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.765137228Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.765638239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.770399136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.770463866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.770491726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.772110809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.774825453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.785204889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.785287549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.785325019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.785352469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.785380329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.785547719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.786842341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":6,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.786888931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.787300712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.787345612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.787371952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.788319853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.791351478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.798424399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.798545579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.798617969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.7988891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.800272682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.800328032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.800359192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.800607302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"reconfigurator config load complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.804517058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","switches":"Loaded(ReconfiguratorConfigView { version: 1, config: ReconfiguratorConfig { planner_enabled: false, planner_config: PlannerConfig, tuf_repo_pruner_enabled: true }, time_modified: 2026-06-10T21:34:41.697639Z })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.804598498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"config_updated\":false}","iteration":6,"elapsed":"17.711027ms"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.804680618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.804713739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.804739919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.80572693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.809840226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.818375269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.818447309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.81847415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.81873581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.830653078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.830694308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"707989bf-2e9e-4b1c-86be-4e8f1c59d16e\"), \"state_generation\": Number(35), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.834809315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.834878515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.83866212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.838738501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.839557592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.843040447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.843092487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.843518258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.845774051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.845828731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.846506792Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.848900186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.848980206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.849009996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.849037746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.849370387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.851869791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.851940731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.852009441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.853006732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.857380249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.85788599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.85791828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.858498241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.861527765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.873097983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.873154883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.873181083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.873549034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.875639097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.875703117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.875930257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.875976517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.87737226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.880857695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.880919295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.880972465Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.881307506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.884714281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:06.884763401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.884791031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.885210312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.888845337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.894474226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.896084548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.896128528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.904579171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.904632811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.907959256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.907989706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.910918671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.910967531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.914666017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.914751527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.927513406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.927600596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.930976922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.931024632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.934306227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.934360037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.94282428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.94287594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.948367498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.948424838Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.953610926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.953671566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.957277822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.957341802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.961889329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.961941529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.964530253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.964562813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.971860884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.971914894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.975198209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.975249259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.979414076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.979465616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.98242294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.9824701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.986460706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.986509936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.993105117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.993202807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.996488342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:06.996567672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.001214429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.001265319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.005861406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.005934736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.012947277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.012999997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.023741093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.023804383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.028899851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.028962371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"18","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: ensuring instance dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.034073089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.034252519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.034274969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.036831303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.042610212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.042749962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.042817823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.042881303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.043566044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.058967767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.062859623Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"looking up instance's primary network interface","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.062919413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.062938083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.062971263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.063551884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.071320696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.071467046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.071918197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.077298825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.077348315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.077808266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.089359634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.089665944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.089701164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.089728214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.091318537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.097252316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.097311956Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.097340116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.097748817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.101214012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.101265212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.101398442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.102323534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.105966839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.115794364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.115870754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.115912054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.115940154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.115967314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.116202875Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.121836803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.121884663Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.122007404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.122945145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.129741245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.129844016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.129885836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.130206336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.133526391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.141034323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.141110283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.141139533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.141445593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"looking up instance's external IPs","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.144866469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.144900349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.144931669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.14573071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.151396789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.151462359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.153269921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.156470916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.156502376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.156523986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.156543806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.157041407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.162505756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.168252674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.168404345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.168459085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.168919935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.172508711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.173460852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:57463","req_id":"260ad0fb-c235-4d15-99a8-5dca0c3857bf","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 63 ff 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 c............_de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.173550352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:57463","req_id":"260ad0fb-c235-4d15-99a8-5dca0c3857bf","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 25599,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.173762463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.174241133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.174299824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:57463","req_id":"260ad0fb-c235-4d15-99a8-5dca0c3857bf","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.174671834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1147, tv_nsec: 635537503 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.174733644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.174972615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:52827","req_id":"cc6f90de-cdb5-4595-a454-cbdc3d752950","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 17 59 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e .Y..........-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.175014065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:52827","req_id":"cc6f90de-cdb5-4595-a454-cbdc3d752950","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 5977,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.175107325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.175123635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:52827","req_id":"cc6f90de-cdb5-4595-a454-cbdc3d752950","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.221436626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.221906506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.221940206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.222131027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.22398991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.22402748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.225571622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"76257699-1607-40a3-8194-05c3d50fe167\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:35:07 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.225946453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.226053693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.227001114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.231598841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.235726057Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.239926944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.239962114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.243171579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.243339689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"no subnets attached to instance, nothing to notify Dendrite about","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.254338496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.254896107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.255054877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"18","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.259258083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.259309694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"19","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.265042632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":4,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.265167322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.265197653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.265703893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.266595755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.266635425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"19","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.2701117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.27019416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"20","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: ensuring instance is registered on sled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.272712644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.272762954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.272795764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.273137405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.275181458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.275263648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.275799669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.2765655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.27661371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.2768896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.278558213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.278624503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.278883963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.280823236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.280910467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.280941187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.280970527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.281660478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.282554099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.282609279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.282634829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.282657959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.28309257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.285214273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.288871439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.288994379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.289015679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.289038759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.289058439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.289283829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.290201921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.290272331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.290327131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.290789362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.292579324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.295532159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.295591749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.295654999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.295851329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.296601251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.296694321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.296738491Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.296919951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.297800062Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.297870092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.299029594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.299565185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.299600795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.299622525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.352216686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/v2p","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.352571936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.359115646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.359177726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.359215216Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.359243756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.359271406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.359795407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.362269161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:34325"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:07.362773732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.363133222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"95cb8890-3c1b-49f6-ba6d-615445cea918","remote_addr":"[::1]:34325","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.363159642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"95cb8890-3c1b-49f6-ba6d-615445cea918","remote_addr":"[::1]:34325","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.363328613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"95cb8890-3c1b-49f6-ba6d-615445cea918","remote_addr":"[::1]:34325","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":221,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.363601023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"95cb8890-3c1b-49f6-ba6d-615445cea918\", \"content-length\": \"102\", \"date\": \"Wed, 10 Jun 2026 21:35:07 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.363691193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","interfaces":"{VirtualNetworkInterfaceHost { physical_host_ip: ::1, virtual_ip: 172.30.0.5, virtual_mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.363716523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"v2p mappings to add","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.363736203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.363833993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":4,"elapsed":"98.900381ms"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.364363874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.364405974Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.364499264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.365167535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.36807315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.36812818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.36815563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.368733561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.371441185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.378109575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.378231235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.378260175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.378621626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.380131728Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.380180018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.380207698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.380232738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.380602929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.383713404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.383777684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.383808224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.384259205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.388447981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.388526541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.388555321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.388810362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.392241737Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.402098012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.403616024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.403784534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.403848034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.403877115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.404313095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.40726938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.40733585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.40736488Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.407827371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.411340996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.411429416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.411490756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.412348367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.415444222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.421558442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.421663972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.421720672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.422159652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.426694759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.42676018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.427458561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.429975704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.430083655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.432718859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.436475344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.436538664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.437079485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.440680351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.440739431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.441419872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.444621187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.444707957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.445677368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.450896446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.451008827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.451054997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.451087037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.451791278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.456115644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.456187295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.456228185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.456837116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.460754921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.460810712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.460866682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.461670303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.465265088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.473435101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.473530361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.473570941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.473606981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.473634361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.474174812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.477917558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.478226708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.478275078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.479748031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.483492286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.483551696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.484573698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.485034689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.488739034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.495451695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.495522315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.495551585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.495878335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.498399379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.498463499Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.49916904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.508012134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.508125634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.510064017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.513888923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.513972743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.514622064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.518086489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.518178649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.518209349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.518260819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.51891052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.526878843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.527019033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.527185593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.527837004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.53194059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.53202404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.532054341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.533279052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.536873668Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.54456724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.54467221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.54479195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.54483062Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.54487355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.545142421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.549006486Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.549087357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.549116207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.549995088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.554970916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.555063876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.555097726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.555471056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.566905114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.582328247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.582407207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.582438288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.582858408Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"resolved names for firewall rules","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.594913177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","subnet_networks":"{}","subnet_interfaces":"{}","vpc_interfaces":"{Name(\"default\"): [NetworkInterface { id: 6741557b-d6fd-4a60-9261-6fd8cdc1315b, kind: Instance { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566 }, name: Name(\"net0\"), ip_config: V4(PrivateIpv4Config { ip: 172.30.0.5, subnet: Ipv4Net { addr: 172.30.0.0, width: 22 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503), primary: true, slot: 0 }]}","instance_interfaces":"{}"} {"msg":"resolved firewall rules for sled agents","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.594994837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","sled_agent_rules":"[ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 6741557b-d6fd-4a60-9261-6fd8cdc1315b, kind: Instance { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566 }, name: Name(\"net0\"), ip_config: V4(PrivateIpv4Config { ip: 172.30.0.5, subnet: Ipv4Net { addr: 172.30.0.0, width: 22 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503), primary: true, slot: 0 }], filter_hosts: None, filter_ports: None, filter_protocols: Some([Icmp(None)]), action: Allow, priority: VpcFirewallRulePriority(65534) }, ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 6741557b-d6fd-4a60-9261-6fd8cdc1315b, kind: Instance { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566 }, name: Name(\"net0\"), ip_config: V4(PrivateIpv4Config { ip: 172.30.0.5, subnet: Ipv4Net { addr: 172.30.0.0, width: 22 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503), primary: true, slot: 0 }], filter_hosts: Some({Vpc(Vni(7632503))}), filter_ports: None, filter_protocols: None, action: Allow, priority: VpcFirewallRulePriority(65534) }, ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 6741557b-d6fd-4a60-9261-6fd8cdc1315b, kind: Instance { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566 }, name: Name(\"net0\"), ip_config: V4(PrivateIpv4Config { ip: 172.30.0.5, subnet: Ipv4Net { addr: 172.30.0.0, width: 22 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503), primary: true, slot: 0 }], filter_hosts: None, filter_ports: Some([L4PortRange { first: L4Port(22), last: L4Port(22) }]), filter_protocols: Some([Tcp]), action: Allow, priority: VpcFirewallRulePriority(65534) }]"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.595943688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.596027738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.596594659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.605012102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.605101622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.606580984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.6105366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.610674791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.610722841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.610751061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.611122101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.615414298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.615471888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.615498608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.615995029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.62300561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.6230949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.62312591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.623655161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.626931586Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.637371622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.637671922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.637723082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.637781562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.694012408Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.694256278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.694542979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.699025586Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.699086496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.699121146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.699142056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.699555807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.705320155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.70829269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.709845372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:62019/vmms/707989bf-2e9e-4b1c-86be-4e8f1c59d16e","method":"PUT"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.710450873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:45556"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.710601093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/707989bf-2e9e-4b1c-86be-4e8f1c59d16e","method":"PUT","req_id":"84b84664-473a-45e5-9a61-5525ebab21f0","remote_addr":"[::1]:45556","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.710623984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/707989bf-2e9e-4b1c-86be-4e8f1c59d16e","method":"PUT","req_id":"84b84664-473a-45e5-9a61-5525ebab21f0","remote_addr":"[::1]:45556","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"created","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.713548558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"707989bf-2e9e-4b1c-86be-4e8f1c59d16e","kind":"instances","server":"b6d65341-167c-41df-9b5c-41cded99c229","component":"SledAgent","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","initial_state":"SledVmmState { vmm_state: VmmRuntimeState { state: Starting, generation: Generation(2), time_updated: 2026-06-10T21:35:07.708273900Z }, migration_in: None, migration_out: None }"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.713733498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/707989bf-2e9e-4b1c-86be-4e8f1c59d16e","method":"PUT","req_id":"84b84664-473a-45e5-9a61-5525ebab21f0","remote_addr":"[::1]:45556","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":3017,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.713871208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/vmms/707989bf-2e9e-4b1c-86be-4e8f1c59d16e\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"84b84664-473a-45e5-9a61-5525ebab21f0\", \"content-length\": \"131\", \"date\": \"Wed, 10 Jun 2026 21:35:07 GMT\"} })"} {"msg":"received new VMM runtime state from sled agent","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.714047969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","migration_state":"Migrations { migration_in: None, migration_out: None }","vmm_state":"VmmRuntimeState { state: Starting, generation: Generation(2), time_updated: 2026-06-10T21:35:07.708273900Z }","propolis_id":"707989bf-2e9e-4b1c-86be-4e8f1c59d16e"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.714132369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.714168639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.71464323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.724050314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.724097314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(2), \"id\": String(\"707989bf-2e9e-4b1c-86be-4e8f1c59d16e\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:12/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Starting\"), \"time_created\": String(\"2026-06-10T21:35:06.732031Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:35:07.708273900Z\")})","node_id":"20","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.729896983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N021 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.729940943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"21","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.733510469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N021 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.733580319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"21","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.736705143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.736765593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.740572739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.740613019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"20","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: unregistering instance from sled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.746308848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","propolis_id":"707989bf-2e9e-4b1c-86be-4e8f1c59d16e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.746367058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.746399288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.7474083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.752089497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.752168237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.752814878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.755183991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.755242851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.756694443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.762270592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.762349382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.762380122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.762408292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.763975154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.770916455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.770984485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.771015725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.771701946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.775635662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.775701452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.775733262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.776160643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.781180771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.788343501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.82676172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.8268545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.827282961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.830197845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.830249316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.830274586Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.830294276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.831050647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.833774881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.837260306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.837527417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/vmms/707989bf-2e9e-4b1c-86be-4e8f1c59d16e","method":"DELETE"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.837793787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:39937"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.838265568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/707989bf-2e9e-4b1c-86be-4e8f1c59d16e","method":"DELETE","req_id":"f7f8d951-dd8b-4263-b303-8aa8300d22b1","remote_addr":"[::1]:39937","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.838307848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/707989bf-2e9e-4b1c-86be-4e8f1c59d16e","method":"DELETE","req_id":"f7f8d951-dd8b-4263-b303-8aa8300d22b1","remote_addr":"[::1]:39937","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.838700068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/707989bf-2e9e-4b1c-86be-4e8f1c59d16e","method":"DELETE","req_id":"f7f8d951-dd8b-4263-b303-8aa8300d22b1","remote_addr":"[::1]:39937","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":450,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.839038669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/vmms/707989bf-2e9e-4b1c-86be-4e8f1c59d16e\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f7f8d951-dd8b-4263-b303-8aa8300d22b1\", \"content-length\": \"149\", \"date\": \"Wed, 10 Jun 2026 21:35:07 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.83995931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.840047531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"20","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.843327776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.843364436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"19","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.84644149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":5,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.846697231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.846729301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.847246502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.850228266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.850269396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"19","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.853663691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.853808882Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"18","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: undoing dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.857135647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.857176347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.857206037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.857701278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.858553969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.858589699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.8590193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.861634994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.861701524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.862491945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.865116789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.865176369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.86594967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.866604121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.866638541Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.866708441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.866730311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.867493742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.869710316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.873037051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.873192041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.873401232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.873494302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.873519922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.873538192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.874219903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.874278773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.874307363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.874336533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.875172784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.877092597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.879809841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.880380842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.880420252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.880452782Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.880769983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.880851143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.880919143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.881037853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.886047171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.886116081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.886151981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.886201751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.932771662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/v2p","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.933340213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:39576"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.933515483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"21b5a734-bd26-48eb-bae9-7273d70175f4","remote_addr":"[::1]:39576","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.933544393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"21b5a734-bd26-48eb-bae9-7273d70175f4","remote_addr":"[::1]:39576","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.933792254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"21b5a734-bd26-48eb-bae9-7273d70175f4","remote_addr":"[::1]:39576","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":205,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.933916644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"21b5a734-bd26-48eb-bae9-7273d70175f4\", \"content-length\": \"102\", \"date\": \"Wed, 10 Jun 2026 21:35:07 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.934034594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","interfaces":"{VirtualNetworkInterfaceHost { physical_host_ip: ::1, virtual_ip: 172.30.0.5, virtual_mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.934089574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"v2p mappings to add","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.934109414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.934126084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":5,"elapsed":"87.678314ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.934652035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.939608583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"deleting instance dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:07.939673233Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.939690443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.939726263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.939865063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.943189688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.943267818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.943615919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.946829754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.946892974Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.947441455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.962539678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.962603278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.962627308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.962647038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.963316039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.965326802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.967276035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.967328225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.967407645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.967705276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.97053843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.971175151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:55030","req_id":"aaa50698-cab1-4fa5-9939-a5b5db5e822b","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 1b 0d 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 ............._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.971211021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:55030","req_id":"aaa50698-cab1-4fa5-9939-a5b5db5e822b","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 6925,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.971514742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.971832372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.971966602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:55030","req_id":"aaa50698-cab1-4fa5-9939-a5b5db5e822b","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.975064407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1148, tv_nsec: 433259192 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.975119897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:07.975136877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:65274","req_id":"ce5518a8-9f03-4499-8509-80cc3183e36f","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: d4 03 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e ............-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.975165617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:65274","req_id":"ce5518a8-9f03-4499-8509-80cc3183e36f","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 54275,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.975256207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:07.975270857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:65274","req_id":"ce5518a8-9f03-4499-8509-80cc3183e36f","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.018787284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.020564967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"5ce61152-81ac-49a1-bb0c-aa4f0ab69303\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:35:08 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.020830307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.020861897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"18","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.023585201Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.023647561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.025979505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.026029725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.028363658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.028424939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.031807014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.031860634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.034037867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.034098107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.036299031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.036341901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.041713799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.041793629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.047233457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.047297957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.052685256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.052766416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.056003081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.056058181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.067917229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.067965559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.077416683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.077464783Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.081009009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.081071379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.085383076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.085425356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.088919361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.088973441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.09459231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.09465487Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.098033225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.098091865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.104602545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.104641605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.110422654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.110462094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.117641375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.117696935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.124108675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.124161035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.129641673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.129706183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.131452776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:565","component":"oximeter"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.132628848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.132665578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"ee2b52d4-812b-49bc-9047-d3d3395b1093","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.132694438Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"ee2b52d4-812b-49bc-9047-d3d3395b1093","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.132721298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"ee2b52d4-812b-49bc-9047-d3d3395b1093","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.132776348Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"ee2b52d4-812b-49bc-9047-d3d3395b1093","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.133219589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"ee2b52d4-812b-49bc-9047-d3d3395b1093","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.13428217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.13432866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.138122456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"ee2b52d4-812b-49bc-9047-d3d3395b1093","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":5703,"response_code":200} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.138231936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.138256446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.140233089Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ee2b52d4-812b-49bc-9047-d3d3395b1093\", \"content-length\": \"405\", \"date\": \"Wed, 10 Jun 2026 21:35:08 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.14039568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.140921621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"0b15d3e8-f3df-4f65-afb7-9038f7e1ddb6","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.140955991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"0b15d3e8-f3df-4f65-afb7-9038f7e1ddb6","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.141275841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"0b15d3e8-f3df-4f65-afb7-9038f7e1ddb6","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.141315851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"0b15d3e8-f3df-4f65-afb7-9038f7e1ddb6","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.142081112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"0b15d3e8-f3df-4f65-afb7-9038f7e1ddb6","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.143610025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.143638355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.149062293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"0b15d3e8-f3df-4f65-afb7-9038f7e1ddb6","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":6355,"response_code":200} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.149128823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.149149183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.150704215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"0b15d3e8-f3df-4f65-afb7-9038f7e1ddb6\", \"content-length\": \"29\", \"date\": \"Wed, 10 Jun 2026 21:35:08 GMT\"} })"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.150787996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.150852616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de"} {"msg":"refreshed list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.150914596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:640","component":"oximeter","n_current_tasks":2,"n_pruned_tasks":0} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.152255958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.152296378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.157041895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.163126854Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.163226915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.167955192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.168047462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.172182548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"707989bf-2e9e-4b1c-86be-4e8f1c59d16e","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.172253448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.172288688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.172931849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.177064666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.177154806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":19,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.177188156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.177227706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.177981467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.178707978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.178735058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.181292242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.181363532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.182111563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.182150884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.182174174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.182599694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.185354558Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.185427989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.18642386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.1864675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.18648893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":19,"elapsed":"9.096874ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.189098514Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.189200464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.194206382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.194271312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.201127573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.20608136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.20613643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.211277728Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.211338928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.215560055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.215621185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.224667049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.224726109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.227169732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.227234262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.227915934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.228947845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.229005285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.229957707Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.232963631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.236708527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.237405178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.242057635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.242257855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.243233767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.243286497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.246917853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.246967043Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:08.246987363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"multicast_sled_id\"","result":"failure","saga_name":"instance-start","saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.247078253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.247101463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"0d699229-9653-42f5-a0d6-12dc2c4866cd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 0d699229-9653-42f5-a0d6-12dc2c4866cd, saga_log: SagaLog { saga_id: 0d699229-9653-42f5-a0d6-12dc2c4866cd, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 succeeded, N014 started, N014 succeeded, N013 started, N013 succeeded, N012 started, N012 succeeded, N011 started, N011 succeeded, N010 started, N010 succeeded, N009 started, N009 succeeded, N008 started, N008 succeeded, N007 started, N007 succeeded, N006 started, N006 succeeded, N018 started, N018 succeeded, N019 started, N019 succeeded, N020 started, N020 succeeded, N021 started, N021 failed, N020 undo_started, N020 undo_finished, N019 undo_started, N019 undo_finished, N018 undo_started, N018 undo_finished, N017 undo_started, N017 undo_finished, N006 undo_started, N006 undo_finished, N007 undo_started, N007 undo_finished, N008 undo_started, N008 undo_finished, N009 undo_started, N009 undo_finished, N010 undo_started, N010 undo_finished, N011 undo_started, N011 undo_finished, N012 undo_started, N012 undo_finished, N013 undo_started, N013 undo_finished, N014 undo_started, N014 undo_finished, N015 undo_started, N015 undo_finished, N016 undo_started, N016 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: UndoFinished, 9: UndoFinished, 10: UndoFinished, 11: UndoFinished, 12: UndoFinished, 13: UndoFinished, 14: UndoFinished, 15: UndoFinished, 16: UndoFinished, 17: UndoFinished, 18: UndoFinished, 19: UndoFinished, 20: UndoFinished, 21: Failed(InjectedError), 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"multicast_sled_id\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250560698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250594468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250607518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250620228Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250632948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250646218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250659268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250671748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250684468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250698248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250710958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250724998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250737878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250750268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250762278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250774738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250789678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250803509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250815299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250827809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250839949Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250852339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250864829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250879559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250892549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250904989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.250917249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.251123579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.251145979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.251160019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.251173819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.251186579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.251198979Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.251211309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.251223179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.251235259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.251247599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.251260159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.251272249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.251284339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.251297339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.25177401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.25182724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.25184418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.25186324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.2518781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.25189396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.25194268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.25198328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.25200849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.2520241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.2520387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.25205678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.25207196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.25208584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.25210061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252112961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252133161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252149601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252163921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252177781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252192921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252208881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252223041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252237611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252250781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252262771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252279051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252294561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252308841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252321781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252333721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252351881Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252366711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252379891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252391941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.252404111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.274556525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.274613195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.276255387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.27804682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.27807329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.278393851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.280252764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.280305644Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.280735884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.283212158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.283367298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.285624412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.285681082Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.286584803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.289458848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.292083672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.292139122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.292664943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.295801937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.295853417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.295874167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.296595059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.298054011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.298107821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.300812745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.305802503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.305919123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.305937023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.305964943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.305986153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.306006403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.306185083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.307472415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.307738626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.307820006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.307842816Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.309927719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.309984669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.310006879Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.31086948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.314089905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.314141105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.314167205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.318207192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.321926527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.331243521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.331295462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.331315192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.332017453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:08.332743564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.335482758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(36)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.337916162Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(36)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358178843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358235173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358251673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358266143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358367763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358409843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358426223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358438763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358451023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358464893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358477523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358493503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358508893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358522483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358534223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358551213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358565723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358577963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358591253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358603583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358615573Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358627273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358664253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358678063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358689873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358702423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358714613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358726704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358740194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358755724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358768324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358780584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358793554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358807134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358819444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358831314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358843894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358857224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358869054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358881554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358893394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.358921794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359008614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359022714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359035304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359050334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359067994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359126204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359143074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359157144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359170554Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359184294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359197474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359209344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359221944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359234124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359248834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359264944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359278184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359293824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359307354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359322074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359335794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359435745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359451725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359465275Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359478425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359490445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359502475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359514565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359526635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359539465Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359554745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359568065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359582765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359596435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.359610145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.380551077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.380601517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.381189708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.383741232Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.383948482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.384505263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.386581906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.386628306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.387043167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.38898521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.38903524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.38907011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.38908761Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.38943451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.392180735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.392254005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.392272895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.392664995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.396408041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.397690323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.397726203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.398536604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.401523169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.406602717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.406674797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.406701027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.406964867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.407014877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.407040767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.409565991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.409618111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.409637461Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.410423593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.413079567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.413125127Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.413143997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.413729218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.416680442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.425376915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.425463376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.425484596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.425791376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.429289031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(36)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(22)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.432512866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"AddVirtualResources","node_name":"virtual_resources"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.432564996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.432589726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.432609206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":36,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.432781637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.436515132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(22)","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.437024783Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.437054503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.437164483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.437198823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.440399068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.440445788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.442701362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.442772492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.445213846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.445273436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"2c09616a-5e9b-44b7-972c-b3a740239ec2\"))","node_id":"0","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.447637969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.44769051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.450124323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"2c09616a-5e9b-44b7-972c-b3a740239ec2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.450191103Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.450217023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.450716184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.453894729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"2c09616a-5e9b-44b7-972c-b3a740239ec2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.459590158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"2c09616a-5e9b-44b7-972c-b3a740239ec2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.459647928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"2c09616a-5e9b-44b7-972c-b3a740239ec2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.459669238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"2c09616a-5e9b-44b7-972c-b3a740239ec2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.459688018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"2c09616a-5e9b-44b7-972c-b3a740239ec2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.465514597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"2c09616a-5e9b-44b7-972c-b3a740239ec2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.465640967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.465717097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.470064994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.470123754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.473375139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.473421119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.475489322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.479462708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.479517378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:13\"))","node_id":"2","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.481925052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.481989272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.484708336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.484777626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.485192217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.487750701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.487852051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.487877041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.488043521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.488528502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.491955667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.495652163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.495696603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.495732143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.495755603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.499166748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.499225998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"2c09616a-5e9b-44b7-972c-b3a740239ec2\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:13/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:35:08.495064Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:35:08.495064Z\")})","node_id":"3","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.502269223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.502346983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.506114259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"2c09616a-5e9b-44b7-972c-b3a740239ec2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.506190439Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.506226149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.50655229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.508709593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.508773613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.509410764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.511438257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.511502327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.511872048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.514301851Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.514495462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.514528752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.514553632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.514575612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.517139526Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.517330046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.517366086Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.518031967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.521441462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.521517622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.521547982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.521959713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.524555257Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.529490985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.529714115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.529755525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.529785535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.529815255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.529840925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.534353022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.534586572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.534618992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.536219015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.538621529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.538686049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.538757929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.53930593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.541850673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.548393953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.548488254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.548549744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.548816624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.557589478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.557645258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"2c09616a-5e9b-44b7-972c-b3a740239ec2\"), \"state_generation\": Number(37), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.560921973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.560974893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.564703568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.564790369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.56554973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.568875485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.568927475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.569667466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.571651529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.571704909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.57215559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.574372953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.574484913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.574517043Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.574543853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.575085504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.577821788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.577892749Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.577922599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.578348129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.581185844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.581242494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.581271794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.582343035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.585963101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.594461844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.594546194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.594574714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.594806834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.59828747Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.59840239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.59843368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.59847078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.599585902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.602590566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.602667196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.602695557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.60505187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.609994668Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.610068938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.610125768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.61125912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.615552616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.623028218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.625247391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.625348081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.628328196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.628523286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.632450962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.632505942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.636354938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.636404528Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.639786063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.639834413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.642626138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.642675358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.648175906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.648268026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.652638873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.652707993Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.656075048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.656133388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.660006334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.660069694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.665436312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.665487823Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.669037548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.669080808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.672759384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.672826324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.683075929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.683113659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.687540226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.687594756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.69624957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.69630007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.707587897Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.707696557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.711876063Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.711926123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.71631281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.71634896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.719235015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.719293845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.723498471Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.723570591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.726027805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.726118195Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.729832191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.729890461Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.735045699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.735104469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.741804739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.741859839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.745076474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.745175784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"18","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: ensuring instance dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.749284531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.750328732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.750376722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.751160423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.754375118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.754422128Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.754443359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.754461209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.754916169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.759528555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.763100241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"looking up instance's primary network interface","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.763358861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.763397691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.763431581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.763681622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.7687626Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.76901729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.770050002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.773918287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.773975768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.774479148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.78840456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.78851991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.78855672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.78858209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.790096142Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.794856189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.79495425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.79498361Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.795587091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.800129697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.800208748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.800238748Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.800812769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.804643344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.811479735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.811589375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.811627705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.811656925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.811683375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.811951586Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.817263524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.817366864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.817397524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.818167585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.82151848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.82158835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.82161766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.822081011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.825108946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.832402307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.832448987Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.832475317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.832827377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"looking up instance's external IPs","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.837919665Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.837981115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.838018025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.838948287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.843858744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.843934474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.844633136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.848077281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.848143221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.848169071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.848190431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.848688722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.851073895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.854665531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.854729161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.854752421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.855235292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.8607412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.861709762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:32399","req_id":"3ee23702-8edd-4215-8c65-55f3581d2459","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 2b 5a 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 +Z..........._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.861912462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:32399","req_id":"3ee23702-8edd-4215-8c65-55f3581d2459","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 11098,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.861999112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.862226632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.862254632Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:32399","req_id":"3ee23702-8edd-4215-8c65-55f3581d2459","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.862588473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1149, tv_nsec: 323463502 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.862646433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.862931304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:44657","req_id":"3d41e3f0-bfc7-4e04-8023-819be0b461ba","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: cd f8 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e ............-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.862975834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:44657","req_id":"3d41e3f0-bfc7-4e04-8023-819be0b461ba","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 52728,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.863152184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.863169114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:44657","req_id":"3d41e3f0-bfc7-4e04-8023-819be0b461ba","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.907766222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.909468155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"7f838e81-5351-49c9-9655-c24c52f2b26b\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:35:08 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.909752235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.909786445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.911175077Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"no subnets attached to instance, nothing to notify Dendrite about","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.928071483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.928165373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.928188013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"18","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.931249948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.931329218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"19","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.934593543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":6,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.934669073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.934726783Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.935321994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.936142785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.936193346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"19","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.941903524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.941963974Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"20","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: ensuring instance is registered on sled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:08.945119789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.945178429Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.945208389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.94569165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.947872433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.947924803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.948464914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.949561356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.949622766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.950048267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.954527684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.954598364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.955166775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.956156716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.956199506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.956222566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.956242386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.956762877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.9586712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.962271965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.962318885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.962340595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.962366106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.962386986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.963349827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.964227238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.964316789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.964345639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.964371649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.964861849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.974925075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.977648509Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.977729289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.977783639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.97814091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.978983291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:08.979045081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.979088991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:08.979347891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.022770298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/v2p","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.023300359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.023346719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.023372009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.02393788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.024952971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:60403"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.025408012Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"ef4386ec-3c55-4fbd-9735-0c230aff4201","remote_addr":"[::1]:60403","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.025442302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"ef4386ec-3c55-4fbd-9735-0c230aff4201","remote_addr":"[::1]:60403","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.025626832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"ef4386ec-3c55-4fbd-9735-0c230aff4201","remote_addr":"[::1]:60403","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":236,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.025914053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ef4386ec-3c55-4fbd-9735-0c230aff4201\", \"content-length\": \"102\", \"date\": \"Wed, 10 Jun 2026 21:35:09 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.026041023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","interfaces":"{VirtualNetworkInterfaceHost { physical_host_ip: ::1, virtual_ip: 172.30.0.5, virtual_mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.026067513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"v2p mappings to add","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.026086513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.026159263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":6,"elapsed":"91.58439ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.027340545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.032571193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.032646773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.032693093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.032722393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.032749593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.033030374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.035995628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.036075568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.036106578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.036551379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.041144786Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.041221476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.041251976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.041571287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.047277375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.051510322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.051740382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.051825872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.053193734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.054848947Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.054930537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.054961617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.054988597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.055255318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.058176132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.058233322Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.058260732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.058532903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.061925888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.062006988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.062034178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.062341378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.064856902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.071693143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.073243065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.073308045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.073336955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.073365595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.074110196Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.077384131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.077452161Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.077479892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.077892712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.080960607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.081041667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.081074117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.081725658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.084796633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.090341751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.090504721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.090557652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.091082002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.097766563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.097862443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.098330463Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.103849152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.103924342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.104432713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.107641168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.107700648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.108150948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.113638557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.113695797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.114224028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.117106252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.117174972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.117697503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.120015697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.120207107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.120242007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.120267117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.120953708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.123668492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.123748342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.123870482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.124599284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.12879013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.12886604Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.12889488Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.129304991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.132199325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.138197144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.138284624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.138320355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.138348435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.138374235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.138533215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.143630633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.143698793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.143727943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.144277714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.147412308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.147478029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.147505149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.147906919Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.151601755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.157509844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.157689204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.157755054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.159325567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.162052431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.162242221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.162603662Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.165045445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.165118806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.165507016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.171232815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.171298015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.173145498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.18082874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.18100595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.18105224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.1810807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.183452944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.186455238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.186513648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.186542978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.18763104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.190874655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.190959405Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.190990335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.191830136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.19441388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.201925762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.202339832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.202428603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.202462153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.202518293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.202955783Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.208374992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.208433292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.208550862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.210078704Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.21402664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.21412382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.214170601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.215932223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.221094211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.229422124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.229510694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.229542064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.229902145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.230933106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.231067996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.231217197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.231961858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.232004858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.242597114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.243348305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.245564599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.245636339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"resolved names for firewall rules","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.245817169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","subnet_networks":"{}","subnet_interfaces":"{}","vpc_interfaces":"{Name(\"default\"): [NetworkInterface { id: 6741557b-d6fd-4a60-9261-6fd8cdc1315b, kind: Instance { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566 }, name: Name(\"net0\"), ip_config: V4(PrivateIpv4Config { ip: 172.30.0.5, subnet: Ipv4Net { addr: 172.30.0.0, width: 22 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503), primary: true, slot: 0 }]}","instance_interfaces":"{}"} {"msg":"resolved firewall rules for sled agents","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.245856229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","sled_agent_rules":"[ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 6741557b-d6fd-4a60-9261-6fd8cdc1315b, kind: Instance { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566 }, name: Name(\"net0\"), ip_config: V4(PrivateIpv4Config { ip: 172.30.0.5, subnet: Ipv4Net { addr: 172.30.0.0, width: 22 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503), primary: true, slot: 0 }], filter_hosts: None, filter_ports: None, filter_protocols: Some([Icmp(None)]), action: Allow, priority: VpcFirewallRulePriority(65534) }, ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 6741557b-d6fd-4a60-9261-6fd8cdc1315b, kind: Instance { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566 }, name: Name(\"net0\"), ip_config: V4(PrivateIpv4Config { ip: 172.30.0.5, subnet: Ipv4Net { addr: 172.30.0.0, width: 22 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503), primary: true, slot: 0 }], filter_hosts: Some({Vpc(Vni(7632503))}), filter_ports: None, filter_protocols: None, action: Allow, priority: VpcFirewallRulePriority(65534) }, ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 6741557b-d6fd-4a60-9261-6fd8cdc1315b, kind: Instance { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566 }, name: Name(\"net0\"), ip_config: V4(PrivateIpv4Config { ip: 172.30.0.5, subnet: Ipv4Net { addr: 172.30.0.0, width: 22 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503), primary: true, slot: 0 }], filter_hosts: None, filter_ports: Some([L4PortRange { first: L4Port(22), last: L4Port(22) }]), filter_protocols: Some([Tcp]), action: Allow, priority: VpcFirewallRulePriority(65534) }]"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.245908869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.245945659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.24651887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.249897935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.249968115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.250840617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.250897187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.251690318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.256065275Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.256254455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.256718016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.256787226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.25978559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.264959898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.265018108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.265044818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.26588337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.269272855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.269399705Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.269442855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.269869266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.273164091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.284063547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.284147667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.284212778Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.284444098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.330696839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.330757039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.33175958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.333248143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.333439293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:09.334761115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.336307447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.336855518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.336884448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.336902808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.337020178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.337084978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.337108938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.337129648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.337643479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.340027853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.343303608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.344118179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:62019/vmms/2c09616a-5e9b-44b7-972c-b3a740239ec2","method":"PUT"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.34455067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:41779"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.345060191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/2c09616a-5e9b-44b7-972c-b3a740239ec2","method":"PUT","req_id":"fb345e66-3561-40c1-8d72-9b34baacb06c","remote_addr":"[::1]:41779","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.345118091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/2c09616a-5e9b-44b7-972c-b3a740239ec2","method":"PUT","req_id":"fb345e66-3561-40c1-8d72-9b34baacb06c","remote_addr":"[::1]:41779","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"created","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.346360173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"2c09616a-5e9b-44b7-972c-b3a740239ec2","kind":"instances","server":"b6d65341-167c-41df-9b5c-41cded99c229","component":"SledAgent","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","initial_state":"SledVmmState { vmm_state: VmmRuntimeState { state: Starting, generation: Generation(2), time_updated: 2026-06-10T21:35:09.343228978Z }, migration_in: None, migration_out: None }"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.346533873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/2c09616a-5e9b-44b7-972c-b3a740239ec2","method":"PUT","req_id":"fb345e66-3561-40c1-8d72-9b34baacb06c","remote_addr":"[::1]:41779","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":1503,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.346816413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/vmms/2c09616a-5e9b-44b7-972c-b3a740239ec2\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"fb345e66-3561-40c1-8d72-9b34baacb06c\", \"content-length\": \"131\", \"date\": \"Wed, 10 Jun 2026 21:35:09 GMT\"} })"} {"msg":"received new VMM runtime state from sled agent","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.346920613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","migration_state":"Migrations { migration_in: None, migration_out: None }","vmm_state":"VmmRuntimeState { state: Starting, generation: Generation(2), time_updated: 2026-06-10T21:35:09.343228978Z }","propolis_id":"2c09616a-5e9b-44b7-972c-b3a740239ec2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.346959104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.347014924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.347447314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.359220222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.359286402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(2), \"id\": String(\"2c09616a-5e9b-44b7-972c-b3a740239ec2\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:13/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Starting\"), \"time_created\": String(\"2026-06-10T21:35:08.495064Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:35:09.343228978Z\")})","node_id":"20","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.363356409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N021 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.363413889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"21","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: updating multicast member sled_id","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.366961964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"multicast member lifecycle transition: updating sled_id","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.367024994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_sled_id":"Some(b6d65341-167c-41df-9b5c-41cded99c229 (sled))","operation":"instance_start_or_migrate","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.367058534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.367087894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.367580945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.407339506Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N021 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.407404386Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"21","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.41688652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N022 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.417109671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"22","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.421833908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N022 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.422096008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"22","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.425698924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.426109135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.42984971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N021 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.42992904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"21","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: clearing multicast member sled_id during undo","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.43594615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"multicast member lifecycle transition: updating sled_id","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.43602369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_sled_id":"None","operation":"instance_stop","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.43605536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.43608334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.437510102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.441322978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N021 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.441377888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"21","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.446701836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.446744136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"20","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: unregistering instance from sled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.451773544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","propolis_id":"2c09616a-5e9b-44b7-972c-b3a740239ec2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.451839334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.451871834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.453727127Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.45616606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.456226931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.456572821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.459378905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.459479826Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.460823918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.465878925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.465938675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.465967815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.465993696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.466659977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.471674524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.471743544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.472107025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.472626666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.476105091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.476154181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.476180371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.476672882Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.480342807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.485545445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.536475483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.536522563Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.537030914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.54110059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.54120083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.541284931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.541330281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.543137433Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.545464577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.548188621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.548253971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/vmms/2c09616a-5e9b-44b7-972c-b3a740239ec2","method":"DELETE"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.548634782Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:44896"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.548997812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/2c09616a-5e9b-44b7-972c-b3a740239ec2","method":"DELETE","req_id":"56ed1faf-8dbd-49df-bedd-83a7ee89d478","remote_addr":"[::1]:44896","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.549030242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/2c09616a-5e9b-44b7-972c-b3a740239ec2","method":"DELETE","req_id":"56ed1faf-8dbd-49df-bedd-83a7ee89d478","remote_addr":"[::1]:44896","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.549412263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/2c09616a-5e9b-44b7-972c-b3a740239ec2","method":"DELETE","req_id":"56ed1faf-8dbd-49df-bedd-83a7ee89d478","remote_addr":"[::1]:44896","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":304,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.549535383Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/vmms/2c09616a-5e9b-44b7-972c-b3a740239ec2\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"56ed1faf-8dbd-49df-bedd-83a7ee89d478\", \"content-length\": \"149\", \"date\": \"Wed, 10 Jun 2026 21:35:09 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.549863774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.549891814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"20","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.553081029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.553175179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"19","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.558317957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":7,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.558376727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.558397437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.558832127Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.559442698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.559498218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"19","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.562703503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.562753393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"18","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: undoing dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.565843168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.565909368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.565944508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.566396109Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.568446762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.568497932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.571171296Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.57338914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.57346212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.57390648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.576946935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.577010385Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.578915018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.579636519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.579669389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.579691189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.579712199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.58005338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.581490892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.581542692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.581570072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.581595202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.583507415Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.584058046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.588514903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.588550603Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.588573253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.588672673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.588696043Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.588989914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.590974117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.594002321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.594055621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.594076641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.594437652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.595180593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.595230933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.595258623Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.595557264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.639377681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/v2p","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.640038282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.640345362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.640378722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.641710544Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.643841157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:38738"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.644424048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"08447c02-75a0-4a92-82f1-401a4a61c1c2","remote_addr":"[::1]:38738","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.644476828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"08447c02-75a0-4a92-82f1-401a4a61c1c2","remote_addr":"[::1]:38738","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.644700459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"08447c02-75a0-4a92-82f1-401a4a61c1c2","remote_addr":"[::1]:38738","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":300,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.645075799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"08447c02-75a0-4a92-82f1-401a4a61c1c2\", \"content-length\": \"102\", \"date\": \"Wed, 10 Jun 2026 21:35:09 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.64523527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","interfaces":"{VirtualNetworkInterfaceHost { physical_host_ip: ::1, virtual_ip: 172.30.0.5, virtual_mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.64526234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"v2p mappings to add","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.64528113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.64542274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":7,"elapsed":"87.117373ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.647403773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.655365425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"deleting instance dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.655449935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.655469495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.655497775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.655731336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.660523793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.660622803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.660950234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.663971078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.664151398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.66526986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.680817244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.680876354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.680897454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.680915194Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.681502865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.684231269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.687861365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.687900735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.687919435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.688251615Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.69100325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.691845591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:10296","req_id":"5878a4e8-bbdd-4798-9b70-079f23735847","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 0e df 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 ............._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.691926051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:10296","req_id":"5878a4e8-bbdd-4798-9b70-079f23735847","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 3807,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.692095371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.692190141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.692239861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:10296","req_id":"5878a4e8-bbdd-4798-9b70-079f23735847","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.692629462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1150, tv_nsec: 153527051 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.692729002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.692913222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:30202","req_id":"3548c725-552a-4d64-80cd-76711afd7855","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 28 4f 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e (O..........-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.692947912Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:30202","req_id":"3548c725-552a-4d64-80cd-76711afd7855","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 10319,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.693033783Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.696126057Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:30202","req_id":"3548c725-552a-4d64-80cd-76711afd7855","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.761209896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.762527128Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"65ec6e49-8fdb-4151-b233-bcf0826719a3\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:35:09 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.763018019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.763054789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"18","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.768577427Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.768643977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.772140323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.772223153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.775529198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.775582008Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.780237565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.780290775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.784015111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.784080731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.787441026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.787497066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.793745996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.793814996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.797433141Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.797489911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.805658174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.805753614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.80985767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.80991381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.814409727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.814456667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.818898184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.818954044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.821231498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.821283498Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.824394303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.824423923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.827328117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.827400367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.832535925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.832627075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.836296491Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.836362611Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.84210404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.84217053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.845487725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.845528855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.850790443Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.850843943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.858732755Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.859077206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.865951476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.866053226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.868930781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.868997311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.877591944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.877654454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.88157289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.88168736Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.890797394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.890867574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.893907549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.893997889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.902357362Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.908804212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.908872982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.91433472Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.91441482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.917972416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"2c09616a-5e9b-44b7-972c-b3a740239ec2","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.918045216Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.918077426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.918741767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.924207325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.924399495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":20,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.924436356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.924460936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.925592637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.926693999Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.926739299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"3","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.929427523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.929475793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"2","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.930130844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"instance failed","total_found":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.930213624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.930260314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.930589875Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.932949969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.932997489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"2","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.936046163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","reincarnation_reason":"start saga failed","total_found":0} {"msg":"instance reincarnation completed successfully","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.936142733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instances_changed_state":0,"instances_reincarnated":0,"instances_found":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.936266244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_reincarnation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"changed_state\":[],\"disabled\":false,\"errors\":[],\"instances_found\":{\"Failed\":0,\"SagaUnwound\":0},\"instances_reincarnated\":[],\"restart_errors\":[]}","iteration":20,"elapsed":"11.959009ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.937563496Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.937629466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"1","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.941148111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.941203311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.941723332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.943960285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.944117016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"1","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.947363631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.947400791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"0","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.949899674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.950509305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"0","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.956486135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.956536685Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"24","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.963799066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.963910726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"24","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.966960031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.967015241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:09.971144357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"virtual_resources\"","result":"failure","saga_name":"instance-start","saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.971245517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.971502138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"21b9b299-8af8-407f-b46d-976bf43d7dd6","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 21b9b299-8af8-407f-b46d-976bf43d7dd6, saga_log: SagaLog { saga_id: 21b9b299-8af8-407f-b46d-976bf43d7dd6, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 succeeded, N014 started, N014 succeeded, N013 started, N013 succeeded, N012 started, N012 succeeded, N011 started, N011 succeeded, N010 started, N010 succeeded, N009 started, N009 succeeded, N008 started, N008 succeeded, N007 started, N007 succeeded, N006 started, N006 succeeded, N018 started, N018 succeeded, N019 started, N019 succeeded, N020 started, N020 succeeded, N021 started, N021 succeeded, N022 started, N022 failed, N021 undo_started, N021 undo_finished, N020 undo_started, N020 undo_finished, N019 undo_started, N019 undo_finished, N018 undo_started, N018 undo_finished, N017 undo_started, N017 undo_finished, N006 undo_started, N006 undo_finished, N007 undo_started, N007 undo_finished, N008 undo_started, N008 undo_finished, N009 undo_started, N009 undo_finished, N010 undo_started, N010 undo_finished, N011 undo_started, N011 undo_finished, N012 undo_started, N012 undo_finished, N013 undo_started, N013 undo_finished, N014 undo_started, N014 undo_finished, N015 undo_started, N015 undo_finished, N016 undo_started, N016 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_finished, N002 undo_started, N002 undo_finished, N001 undo_started, N001 undo_finished, N000 undo_started, N000 undo_finished, N024 undo_started, N024 undo_finished], node_status: {0: UndoFinished, 1: UndoFinished, 2: UndoFinished, 3: UndoFinished, 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: UndoFinished, 9: UndoFinished, 10: UndoFinished, 11: UndoFinished, 12: UndoFinished, 13: UndoFinished, 14: UndoFinished, 15: UndoFinished, 16: UndoFinished, 17: UndoFinished, 18: UndoFinished, 19: UndoFinished, 20: UndoFinished, 21: UndoFinished, 22: Failed(InjectedError), 24: UndoFinished} }, kind: Err(SagaResultErr { error_node_name: \"virtual_resources\", error_source: InjectedError, undo_failure: None }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.971826638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.971843088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.971855828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.971869328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.971882128Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.971894248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.971916718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.971928818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.971940698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.971952208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.971964418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.971976068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.971987778Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972000718Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972013198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972026848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972039948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972052398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972064578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972076078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972088138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972099948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972113678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972125688Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972137838Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972150188Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972162079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972528959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972570159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972583059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972595059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972606869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972618859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972632689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972646049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972657599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972671489Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972683079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972694679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972706249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972718049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972729879Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972741349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972752939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972764549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972776099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972787309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.972801969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97281529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97284866Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97286298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97287643Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97288799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97289936Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97291101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97292284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97293442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97294641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97295803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97296934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.9729811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97299371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97300927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.9730223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97303401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97304551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.9730594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97307206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97308461Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.9730975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97311053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97312376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97313668Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97314814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97315944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.9731714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:09.97318293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:09.995513314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.995576594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:09.996350105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.001267513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.001322683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.002222034Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.007030122Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.007083402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.007711523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.011909539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.011975869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.011996549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.012013399Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.012772841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.016275976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.016332926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.016352016Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.016759237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.021938015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.021994255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.022014155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.022407185Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.02554209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.032995832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.033066962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.033081112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.033115922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.033132402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.033147342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.033492452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.036464637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.036511137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.036528887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.037197038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.052912492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.052943502Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.052960822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.053599083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.061619225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.073578524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.073675654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.073699014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.074135904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.079911163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(38)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.083159158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(38)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105469772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105523902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105539552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105551922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105564962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105577742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105589703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105602363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105614903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105627153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105639153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105651333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105663523Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105675733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105688283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105699953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105711583Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105723143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105734983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105746423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105758503Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105770483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105782593Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105794953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105807413Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105823453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.105837013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106165163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106189303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106201163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106213013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106225303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106240303Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106253734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106267204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106280714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106294674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106308254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106319334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106330794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106343684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106356854Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106372854Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106385794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106397374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106408784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106420454Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106432314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106446094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106460464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106528014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106542094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106554594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106566834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106578474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106589764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106646694Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106658624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106670004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106681994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106693104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106704574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106721584Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106735064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106749124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106763044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106798304Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106813014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106824524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106835984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106847404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106861054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106873754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106888124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106901375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106917145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.106933995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.125732673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.125795423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.126434634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.130809981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.130869241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.131648342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.132169783Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:565","component":"oximeter"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.132707824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.133353645Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"0d0d0035-ea73-4b33-9ede-1df2463c728f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.133388775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"0d0d0035-ea73-4b33-9ede-1df2463c728f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.133645105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"0d0d0035-ea73-4b33-9ede-1df2463c728f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.133677765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"0d0d0035-ea73-4b33-9ede-1df2463c728f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.134247556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"0d0d0035-ea73-4b33-9ede-1df2463c728f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.1365298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.13662884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.137292601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.138774683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"0d0d0035-ea73-4b33-9ede-1df2463c728f","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":5176,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.139064244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"0d0d0035-ea73-4b33-9ede-1df2463c728f\", \"content-length\": \"405\", \"date\": \"Wed, 10 Jun 2026 21:35:10 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.139106184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.139408784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"0f7b0096-b31b-4abb-a773-02afb5c5d2b7","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.139446234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"0f7b0096-b31b-4abb-a773-02afb5c5d2b7","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.139625555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"0f7b0096-b31b-4abb-a773-02afb5c5d2b7","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.139661635Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"0f7b0096-b31b-4abb-a773-02afb5c5d2b7","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.141769388Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"0f7b0096-b31b-4abb-a773-02afb5c5d2b7","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.142426029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.142486679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.142507849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.142523959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.14305527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.146642275Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"0f7b0096-b31b-4abb-a773-02afb5c5d2b7","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":7218,"response_code":200} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.146815476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.146841356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.146858776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.147398476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.148514238Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"0f7b0096-b31b-4abb-a773-02afb5c5d2b7\", \"content-length\": \"29\", \"date\": \"Wed, 10 Jun 2026 21:35:10 GMT\"} })"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.148569768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.148642878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de"} {"msg":"refreshed list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.148660478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:640","component":"oximeter","n_current_tasks":2,"n_pruned_tasks":0} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.152597394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.152663494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.152682585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.153125965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.155914019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.165270134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.165414144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.165447954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.165472374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.165490594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.165701294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.170832262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.170896212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.170918562Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.171628923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.17603927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.176228591Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.176274061Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.184908314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.190759023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.196309891Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.196370371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.196391091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.196708752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.200027227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(38)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(1)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }, vmm: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"Creating new saga that will fail at index NodeIndex(23)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.206244596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"label":"EnsureRunning","node_name":"ensure_running"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.206361247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.206389687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.206883337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":25,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[2,3,null],[3,4,null],[4,5,null],[5,6,null],[5,7,null],[5,8,null],[5,9,null],[5,10,null],[5,11,null],[5,12,null],[5,13,null],[5,14,null],[5,15,null],[5,16,null],[5,17,null],[6,18,null],[7,18,null],[8,18,null],[9,18,null],[10,18,null],[11,18,null],[12,18,null],[13,18,null],[14,18,null],[15,18,null],[16,18,null],[17,18,null],[18,19,null],[19,20,null],[20,21,null],[21,22,null],[22,23,null],[24,0,null],[23,25,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"instance_start.generate_propolis_id\",\"label\":\"GeneratePropolisId\",\"name\":\"propolis_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_server\",\"label\":\"AllocServer\",\"name\":\"sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.alloc_propolis_ip\",\"label\":\"AllocPropolisIp\",\"name\":\"propolis_ip\"}},{\"Action\":{\"action_name\":\"instance_start.create_vmm_record\",\"label\":\"CreateVmmRecord\",\"name\":\"vmm_record\"}},{\"Action\":{\"action_name\":\"instance_start.mark_as_starting\",\"label\":\"MarkAsStarting\",\"name\":\"started_record\"}},{\"Action\":{\"action_name\":\"instance_start.list_local_storage\",\"label\":\"ListLocalStorage\",\"name\":\"local_storage_records\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_0\",\"label\":\"EnsureLocalStorage_0\",\"name\":\"ensure_local_storage_0\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_1\",\"label\":\"EnsureLocalStorage_1\",\"name\":\"ensure_local_storage_1\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_2\",\"label\":\"EnsureLocalStorage_2\",\"name\":\"ensure_local_storage_2\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_3\",\"label\":\"EnsureLocalStorage_3\",\"name\":\"ensure_local_storage_3\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_4\",\"label\":\"EnsureLocalStorage_4\",\"name\":\"ensure_local_storage_4\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_5\",\"label\":\"EnsureLocalStorage_5\",\"name\":\"ensure_local_storage_5\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_6\",\"label\":\"EnsureLocalStorage_6\",\"name\":\"ensure_local_storage_6\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_7\",\"label\":\"EnsureLocalStorage_7\",\"name\":\"ensure_local_storage_7\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_8\",\"label\":\"EnsureLocalStorage_8\",\"name\":\"ensure_local_storage_8\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_9\",\"label\":\"EnsureLocalStorage_9\",\"name\":\"ensure_local_storage_9\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_10\",\"label\":\"EnsureLocalStorage_10\",\"name\":\"ensure_local_storage_10\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_local_storage_11\",\"label\":\"EnsureLocalStorage_11\",\"name\":\"ensure_local_storage_11\"}},{\"Action\":{\"action_name\":\"instance_start.dpd_ensure\",\"label\":\"DpdEnsure\",\"name\":\"dpd_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.v2p_ensure\",\"label\":\"V2PEnsure\",\"name\":\"v2p_ensure\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_registered\",\"label\":\"EnsureRegistered\",\"name\":\"ensure_registered\"}},{\"Action\":{\"action_name\":\"instance_start.update_multicast_sled_id\",\"label\":\"UpdateMulticastSledId\",\"name\":\"multicast_sled_id\"}},{\"Action\":{\"action_name\":\"instance_start.add_virtual_resources\",\"label\":\"AddVirtualResources\",\"name\":\"virtual_resources\"}},{\"Action\":{\"action_name\":\"instance_start.ensure_running\",\"label\":\"EnsureRunning\",\"name\":\"ensure_running\"}},{\"Start\":{\"params\":{\"db_instance\":{\"auto_restart\":{\"cooldown\":null,\"policy\":null},\"boot_disk_id\":null,\"cpu_platform\":null,\"dst_propolis_id\":null,\"enable_jumbo_frames\":false,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"name\":\"test-instance\",\"time_created\":\"2026-06-10T21:34:53.125005Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-10T21:34:53.125005Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"propolis_id\":null,\"state_generation\":38,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-10T21:34:53.125005Z\",\"updater_gen\":1,\"updater_id\":null,\"user_data\":[35,99,108,111,117,100,45,99,111,110,102,105,103]},\"reason\":\"User\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"SiloUser\":{\"silo_id\":\"001de000-5110-4000-8000-000000000000\",\"silo_user_id\":\"001de000-05e4-4000-8000-000000004007\"}},\"credential_id\":null,\"device_token_expiration\":null},{\"mapped_fleet_roles\":{}}]}}}}},\"End\"]},\"saga_name\":\"instance-start\",\"start_node\":24}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.207097908Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.216405652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error_type":"FailAction","node_id":"NodeIndex(23)","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.216480832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.218020664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"instance-start","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.218078054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.218096625Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"24","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.223218552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N024 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.223264842Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.226974298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.227050968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.22799091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.22804268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.22842655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.229351922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.229382412Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.232490797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.232540287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"758e288f-e299-4857-bb90-31aa0f0e76d8\"))","node_id":"0","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.239162147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.242279001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.243664214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.243721674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.251039885Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.251110435Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"sled reservation starting","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.251891166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.251940126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.251964106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.252774398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.260386939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.260451719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"no attached local storage disks","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.262287242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sled targets: {b6d65341-167c-41df-9b5c-41cded99c229 (sled)}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.268724942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"local_storage_allocation_required: false","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.268993272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"trying sled target b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.269029152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to insert sled resource record","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.269064342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.275166902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"propolis_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.275358752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.275444812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.282392683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.282471113Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.286425409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.286500149Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.288139882Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AllocPropolisIp","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.291945807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.291990907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"::1:14\"))","node_id":"2","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.295573913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.295631053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.301188942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.301268182Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.302470524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.306178359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.306284299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.306306529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.306337649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.30674551Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.309412134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.318517138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.318611608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.318642348Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.318912929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.323627116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.323666646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"758e288f-e299-4857-bb90-31aa0f0e76d8\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:14/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Creating\"), \"time_created\": String(\"2026-06-10T21:35:10.318499Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:35:10.318499Z\")})","node_id":"3","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:10.329992146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.330257056Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.330286106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"moving instance to Starting state via saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.333456961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.333514111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.333541991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.333967032Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.336426305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.336453045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.338665959Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.338739759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.33924653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.340089631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.340567432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.340607332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.340626212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.342854555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.342983075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.344790108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.350064246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.350186376Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.350215837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.350241497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.351768709Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.358631249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.358694669Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.35872118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.35929274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.36537444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.36542395Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.36545Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.366403641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.374518394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.382023995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.382105765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.382150115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.382179605Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.382205445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.382394686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.385946811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.386002481Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.386030991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.386516222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.390837219Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.390907299Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.390939989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.390962169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.394121204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.401720145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.401778485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.401804805Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.402134886Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.413718314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.413771984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"enable_jumbo_frames\": Bool(false), \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-10T21:34:53.125005Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-10T21:34:53.125005Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"), \"propolis_id\": String(\"758e288f-e299-4857-bb90-31aa0f0e76d8\"), \"state_generation\": Number(39), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-10T21:34:53.125005Z\"), \"updater_gen\": Number(1), \"updater_id\": Null, \"user_data\": Array [Number(35), Number(99), Number(108), Number(111), Number(117), Number(100), Number(45), Number(99), Number(111), Number(110), Number(102), Number(105), Number(103)]})","node_id":"4","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.417317259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.417415729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"5","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.422191597Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.422272287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.423594619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.427933465Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.428016815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.429859928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.431843411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.431952421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.432356692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.436779389Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.436852349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.436884059Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.436913229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.438242691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.443000428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.443087708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.443117039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.443612019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.447847336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.447930886Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.447963416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.448264686Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.452639803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.459238223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.459317353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.459344403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.460098744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.461203096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.461252966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.461337926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.461380206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.461761027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.465433243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.465487213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.465515043Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.466084794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.469196838Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.469273459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.469302689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.47006741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.474114896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.487498606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.488758288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.488818128Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.492213774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.492258744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"17","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.497187371Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.497233331Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.501175667Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.501232817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"16","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.505158893Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.505241994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.508305298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.508345198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"15","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.511550293Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.511594093Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.516359341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.516428221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"14","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.520200146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.520251776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.523075031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.523133391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"13","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.531909614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.531970004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.536332661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.536371101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"12","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.54242193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.5424817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.5484998Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.54856037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"11","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.553853208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.553906418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.557428453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.557479813Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"10","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.562867172Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.562921282Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.565756986Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.565799666Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"9","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.570025123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.570072283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.57475566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.57481464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"8","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.58162375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.58168505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.584765085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.584816575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"7","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.588614251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.588656991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.59432485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.59441228Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"6","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.596967424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.597028464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.602634932Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.602689852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"18","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: ensuring instance dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.609487363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.609542763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.609566903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.610063234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.615555452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.615602642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.615627252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.615645582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.616720094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.619258578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.624411356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"looking up instance's primary network interface","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.624477156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.624495716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.624526186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.624860346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.628014511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.628071151Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.628548112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.630865266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.630917446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.631466556Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.634514071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.634700691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.634781822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.634888582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.635430693Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.638344157Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.638477967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.638541727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.639241668Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.644813877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.644878807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.644906997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.645438728Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.649842535Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.656844945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.656949325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.656994026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.657021406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.657046606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.657199456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.664663507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.664806137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.664977948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.665823519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.671252067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.671308807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.671335857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.671766038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.676996676Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.688473884Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.688595504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.688625674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.688871994Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"looking up instance's external IPs","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.69259283Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.69264349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.69267735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.693095941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.697992728Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.698065208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.698536179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.7054242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.70546988Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.70549176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.70551011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.70603007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.711529289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.716132096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.716322396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.716377136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.716477406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.723359187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.727872844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:11942","req_id":"2e122442-b0b7-4e8c-819c-6a25630d4617","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: cb 83 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 ............._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.728046534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:11942","req_id":"2e122442-b0b7-4e8c-819c-6a25630d4617","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 52099,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.728501175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.728555725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.728573355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:11942","req_id":"2e122442-b0b7-4e8c-819c-6a25630d4617","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.728745675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1151, tv_nsec: 189667304 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.728963276Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.729210486Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:20175","req_id":"7a086a61-e3a9-46ba-9c5d-6606274c3731","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: fb 7e 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e .~..........-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.729249996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:20175","req_id":"7a086a61-e3a9-46ba-9c5d-6606274c3731","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 64382,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.729428846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.729470996Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:20175","req_id":"7a086a61-e3a9-46ba-9c5d-6606274c3731","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.808374516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.81119229Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"cdfcd48a-b34f-4d25-a7a9-d245020e0a09\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:35:10 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.812019202Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.812116672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.813196363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"no subnets attached to instance, nothing to notify Dendrite about","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.829450288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.829530868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.829554168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"18","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.843189779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.843228339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"19","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.846747115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":8,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.846837375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.846861965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.847378266Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.848281837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.848325837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"19","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.850977041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.851023901Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"20","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: ensuring instance is registered on sled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.854488617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.854539547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.854582107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.855531418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.861917298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.862304369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.862708939Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.864607692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.864687972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.865354763Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.867637237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.867709427Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.868462258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.869328159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.869435099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.8697684Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.86984938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.870210561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.871933073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.871995263Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.872024223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.872049723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.874403957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.875490259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.878723944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.878774354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.878795784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.878817734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.878835434Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.879177504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.883671791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.887109536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.887174757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.887195887Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.887335347Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.888073578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.888133148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.888159948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.888446759Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.932749746Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/v2p","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.933442417Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.933489757Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.933516367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.934473309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.936487292Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:61250"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.937547934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"3476d809-f159-415c-9406-bfd0ee949654","remote_addr":"[::1]:61250","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.937608654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"3476d809-f159-415c-9406-bfd0ee949654","remote_addr":"[::1]:61250","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.938024204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"3476d809-f159-415c-9406-bfd0ee949654","remote_addr":"[::1]:61250","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":506,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.938442925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"3476d809-f159-415c-9406-bfd0ee949654\", \"content-length\": \"102\", \"date\": \"Wed, 10 Jun 2026 21:35:10 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.938567555Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","interfaces":"{VirtualNetworkInterfaceHost { physical_host_ip: ::1, virtual_ip: 172.30.0.5, virtual_mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.938594285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"v2p mappings to add","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:10.938643575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.938662225Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":8,"elapsed":"91.9228ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.939760387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.948771241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.948845831Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.948883401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.948912351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.948939621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.949571782Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.952591187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.952691137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.952725367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.953322928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.957850575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.957908965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.957938055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.972008006Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.975624902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.982896153Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.983393224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.983437234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.983554144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.987084569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.987907481Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.987966531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.987993841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.991754116Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.995393492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.995463872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.995492522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.996298023Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.999503968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:10.999555048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:10.999582798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.00075411Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.003474164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.015499473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.017152425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.017240915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.017275015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.017300396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.017705576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.020792961Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.020888171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.020919501Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.021354072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.025308628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.025501128Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.025531758Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.02668633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.029630044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.03956375Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.03991309Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.040395451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.041288952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.051263527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.051559048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.051952788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.056368735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.056687326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.057302317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.062963025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.063026495Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.063637796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.070344477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.070513337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.070872517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.076749806Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.076811767Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.077647678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.083056816Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.083154406Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.083187236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.083212536Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.083902807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.086639092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.086707192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.086736682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.087089902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.095108274Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.095175085Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.095204525Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.095535695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.099485631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.105974241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.106061651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.106100521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.106127431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.106164561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.106777522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.11192848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.11199065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.11201875Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.113688193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.116135047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.116235687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.116269627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.116967168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.121129474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.128836756Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.128913396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.128942036Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.129487907Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.132744542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.132803792Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.133132853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.137140989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.137210289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.13765552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.140424364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.141674716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.142209076Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.150332769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.150431929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.150462969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.150490379Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.15090165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.158070921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.158322621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.158388511Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.159045672Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.162793968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.162860708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.162888598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.16397121Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.169814259Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.178927873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.179028873Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.179089513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.179117403Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.179144173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.179509874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.182467448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.182521018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.182545898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.183130119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.186417594Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.186489344Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.186518224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.187541446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.194971277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.200475856Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ByName(\"default\") }","action":"ListChildren","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.200618436Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.200649766Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.200771066Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"resolved names for firewall rules","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.21021467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","subnet_networks":"{}","subnet_interfaces":"{}","vpc_interfaces":"{Name(\"default\"): [NetworkInterface { id: 6741557b-d6fd-4a60-9261-6fd8cdc1315b, kind: Instance { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566 }, name: Name(\"net0\"), ip_config: V4(PrivateIpv4Config { ip: 172.30.0.5, subnet: Ipv4Net { addr: 172.30.0.0, width: 22 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503), primary: true, slot: 0 }]}","instance_interfaces":"{}"} {"msg":"resolved firewall rules for sled agents","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.210466241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","sled_agent_rules":"[ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 6741557b-d6fd-4a60-9261-6fd8cdc1315b, kind: Instance { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566 }, name: Name(\"net0\"), ip_config: V4(PrivateIpv4Config { ip: 172.30.0.5, subnet: Ipv4Net { addr: 172.30.0.0, width: 22 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503), primary: true, slot: 0 }], filter_hosts: None, filter_ports: None, filter_protocols: Some([Icmp(None)]), action: Allow, priority: VpcFirewallRulePriority(65534) }, ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 6741557b-d6fd-4a60-9261-6fd8cdc1315b, kind: Instance { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566 }, name: Name(\"net0\"), ip_config: V4(PrivateIpv4Config { ip: 172.30.0.5, subnet: Ipv4Net { addr: 172.30.0.0, width: 22 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503), primary: true, slot: 0 }], filter_hosts: Some({Vpc(Vni(7632503))}), filter_ports: None, filter_protocols: None, action: Allow, priority: VpcFirewallRulePriority(65534) }, ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 6741557b-d6fd-4a60-9261-6fd8cdc1315b, kind: Instance { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566 }, name: Name(\"net0\"), ip_config: V4(PrivateIpv4Config { ip: 172.30.0.5, subnet: Ipv4Net { addr: 172.30.0.0, width: 22 }, transit_ips: [] }), mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503), primary: true, slot: 0 }], filter_hosts: None, filter_ports: Some([L4PortRange { first: L4Port(22), last: L4Port(22) }]), filter_protocols: Some([Tcp]), action: Allow, priority: VpcFirewallRulePriority(65534) }]"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.210552861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.210614111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.211034612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.214375967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.214432017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.214888068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.219370044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.219478115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.219578365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.219625565Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.221057147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.227676927Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.227737637Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.227765007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.228126868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.22926913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.22933124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.22936339Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.230553092Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.230605572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.232536725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.232592025Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.232616835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.233190206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.234290867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.234948858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.238660844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.238731294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.238900404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.245560324Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.245666075Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.245694975Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.247105377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.252740855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.252825096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.300623239Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.300658349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.30128363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.306602638Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.306790888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.306838328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.306859518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.309611022Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.311747426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.316577653Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.317839595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:62019/vmms/758e288f-e299-4857-bb90-31aa0f0e76d8","method":"PUT"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.318266046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:44068"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.318626236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/758e288f-e299-4857-bb90-31aa0f0e76d8","method":"PUT","req_id":"6fe75b69-c52d-49bd-9b11-e3af834a786f","remote_addr":"[::1]:44068","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.318689146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/758e288f-e299-4857-bb90-31aa0f0e76d8","method":"PUT","req_id":"6fe75b69-c52d-49bd-9b11-e3af834a786f","remote_addr":"[::1]:44068","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"created","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.319856368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"758e288f-e299-4857-bb90-31aa0f0e76d8","kind":"instances","server":"b6d65341-167c-41df-9b5c-41cded99c229","component":"SledAgent","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","initial_state":"SledVmmState { vmm_state: VmmRuntimeState { state: Starting, generation: Generation(2), time_updated: 2026-06-10T21:35:11.316662633Z }, migration_in: None, migration_out: None }"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.320018258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/758e288f-e299-4857-bb90-31aa0f0e76d8","method":"PUT","req_id":"6fe75b69-c52d-49bd-9b11-e3af834a786f","remote_addr":"[::1]:44068","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":1384,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.320312739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/vmms/758e288f-e299-4857-bb90-31aa0f0e76d8\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6fe75b69-c52d-49bd-9b11-e3af834a786f\", \"content-length\": \"131\", \"date\": \"Wed, 10 Jun 2026 21:35:11 GMT\"} })"} {"msg":"received new VMM runtime state from sled agent","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.320451579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","migration_state":"Migrations { migration_in: None, migration_out: None }","vmm_state":"VmmRuntimeState { state: Starting, generation: Generation(2), time_updated: 2026-06-10T21:35:11.316662633Z }","propolis_id":"758e288f-e299-4857-bb90-31aa0f0e76d8"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.320485649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.320707129Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.321766281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:11.330855475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.331200325Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.331230275Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(2), \"id\": String(\"758e288f-e299-4857-bb90-31aa0f0e76d8\"), \"instance_id\": String(\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"), \"propolis_ip\": String(\"::1:14/128\"), \"propolis_port\": Number(12400), \"sled_id\": String(\"b6d65341-167c-41df-9b5c-41cded99c229\"), \"state\": String(\"Starting\"), \"time_created\": String(\"2026-06-10T21:35:10.318499Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-10T21:35:11.316662633Z\")})","node_id":"20","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.3338872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.33394312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.335571302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.336085173Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.336118923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.336144143Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.337492795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N021 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.337526835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"21","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: updating multicast member sled_id","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.34705038Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"multicast member lifecycle transition: updating sled_id","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.34721926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_sled_id":"Some(b6d65341-167c-41df-9b5c-41cded99c229 (sled))","operation":"instance_start_or_migrate","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.347631971Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.347665221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.347898211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.352875009Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N021 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.352945969Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"21","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.360685841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N022 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.360750711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"22","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.364964387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AddVirtualResources","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.365236377Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AddVirtualResources","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.36681714Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AddVirtualResources","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.375117253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N022 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.375187963Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"22","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.381128522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N023 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.381200302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"23","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.388197863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N023 failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.388299973Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Failed(InjectedError)","node_id":"23","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.394847903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.394889473Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"unwinding","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.39948642Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N022 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.39961444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"22","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.406869921Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AddVirtualResources","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.406961011Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AddVirtualResources","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.407398312Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"AddVirtualResources","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.414177812Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N022 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.414227982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"22","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.418467869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N021 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.418517699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"21","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: clearing multicast member sled_id during undo","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.421285253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"multicast member lifecycle transition: updating sled_id","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.421327733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_sled_id":"None","operation":"instance_stop","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.421389803Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.421431083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.421986774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"UpdateMulticastSledId","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.42559049Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N021 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.42563742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"21","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.439442791Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.439497651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"20","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: unregistering instance from sled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.443661807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","propolis_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.443702407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.443729627Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.4453911Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.448516695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.448599745Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.449545696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.45208176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.45216499Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.452561201Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.45843407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.460054062Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.460115613Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.460152243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.461298614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.46522507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.46528236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.46530977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.465603741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.470423728Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.470671189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.470704069Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.470965889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.476249267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.48440233Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.541874568Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.541965078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.542508368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.548322867Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.548382497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.548405378Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.548426308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.549381159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.552195493Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.556924311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.557593542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/vmms/758e288f-e299-4857-bb90-31aa0f0e76d8","method":"DELETE"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.558009892Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:40377"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.558405323Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/758e288f-e299-4857-bb90-31aa0f0e76d8","method":"DELETE","req_id":"316cfa36-1387-49fd-b0f9-d5b4b7257c6f","remote_addr":"[::1]:40377","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.558439343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/758e288f-e299-4857-bb90-31aa0f0e76d8","method":"DELETE","req_id":"316cfa36-1387-49fd-b0f9-d5b4b7257c6f","remote_addr":"[::1]:40377","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.558681883Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/758e288f-e299-4857-bb90-31aa0f0e76d8","method":"DELETE","req_id":"316cfa36-1387-49fd-b0f9-d5b4b7257c6f","remote_addr":"[::1]:40377","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":267,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.558882914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/vmms/758e288f-e299-4857-bb90-31aa0f0e76d8\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"316cfa36-1387-49fd-b0f9-d5b4b7257c6f\", \"content-length\": \"149\", \"date\": \"Wed, 10 Jun 2026 21:35:11 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.559277254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N020 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.559312254Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"20","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.562202039Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.562277369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"19","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.566148175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":9,"reason":"Signaled"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.566319925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.566342515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.566946876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.567697707Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N019 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.568128838Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"19","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.572306124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.572351464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"18","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga: undoing dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.576700741Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.576748781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.576808771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.577357402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.578309203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.578366853Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.578781494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.581743048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.581783359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.583318561Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.586812606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.586869886Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.589834681Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.596823722Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.596901072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.596930882Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.596960062Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.597475733Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.598648984Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.598775345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.598810005Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.598856145Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.599178845Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.602931581Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.607765608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.607849518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.607875058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.607948469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.607984869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.608566449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.611699834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.611748474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.611777004Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.612456725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.616015531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.627528858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.627645989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.627670689Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.6286864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.631354264Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.631411314Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.631438934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.632018925Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.636218482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.645731576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"deleting instance dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.645892187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.645912307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.645939777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.650612954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.751290958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/v2p","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.752314929Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:50264"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.7526466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"f0cc0821-f23c-42d3-9294-00efcdd0233c","remote_addr":"[::1]:50264","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.75267477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"f0cc0821-f23c-42d3-9294-00efcdd0233c","remote_addr":"[::1]:50264","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.75305735Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"f0cc0821-f23c-42d3-9294-00efcdd0233c","remote_addr":"[::1]:50264","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":421,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.753310641Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f0cc0821-f23c-42d3-9294-00efcdd0233c\", \"content-length\": \"102\", \"date\": \"Wed, 10 Jun 2026 21:35:11 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.753499261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","interfaces":"{VirtualNetworkInterfaceHost { physical_host_ip: ::1, virtual_ip: 172.30.0.5, virtual_mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.753526991Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"v2p mappings to add","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.753546351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.753604781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":9,"elapsed":"187.520067ms"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.755719114Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.755867104Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.756478825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.761514952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.761555983Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.765383298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.769467425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.769554665Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.769602785Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.772655079Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.773696311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.773776571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.773800231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.774602752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.775991965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"phantom_disks","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Timeout"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.778548809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":4,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.778626469Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Inventory","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.778661479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.778730869Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.778751719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.77984809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.781775903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.782452674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_mgd._tcp.control-plane.oxide.internal"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.783075455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"phantom_disks","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"phantom_disk_deleted_err\":0,\"phantom_disk_deleted_ok\":0}","iteration":2,"elapsed":"7.082361ms"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.784583418Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:53226","req_id":"a56b2dfe-25bb-470d-8c1f-dfd7fad842a5","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: d1 ba 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 ............._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.784640858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:53226","req_id":"a56b2dfe-25bb-470d-8c1f-dfd7fad842a5","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 53690,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.784716698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.784743458Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.784758768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:53226","req_id":"a56b2dfe-25bb-470d-8c1f-dfd7fad842a5","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.784796408Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:51353","req_id":"f8338588-6f3c-4fc1-8bff-cbaeb57d4ae3","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: 12 b1 01 00 00 01 00 00 00 00 00 01 04 5f 6d 67 ............._mg\n0010: 64 04 5f 74 63 70 0d 63 6f 6e 74 72 6f 6c 2d 70 d._tcp.control-p\n0020: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0030: 6e 61 6c 00 00 21 00 01 00 00 29 04 d0 00 00 00 nal..!....).....\n0040: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.784825578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:51353","req_id":"f8338588-6f3c-4fc1-8bff-cbaeb57d4ae3","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 4785,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgd._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgd._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 100,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.784891148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_mgd._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.784904488Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.784917958Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:51353","req_id":"f8338588-6f3c-4fc1-8bff-cbaeb57d4ae3","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_mgd._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53460, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_mgd._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_mgd._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.785025098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.79256788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Inventory","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.79262863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.7926533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.792988081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.793885432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.793912692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.793934152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.793953982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.794387843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.796467316Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1152, tv_nsec: 257350685 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.796524156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.796854716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_mgd._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_mgd._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53460, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1152, tv_nsec: 257770095 } })","dns_name":"_mgd._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.797041007Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.797077117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":7,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.797100027Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.797121357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.797146957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.797188697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.797588408Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.798815619Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"physical_disk_adoption","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":3,"reason":"Timeout"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.79888126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"physical_disk_adoption","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"disks_added\":0,\"errors\":[\"task disabled\"]}","iteration":3,"elapsed":"59.25µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.79890976Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.79893146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.79895665Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.79911617Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.799809281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.799837931Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.799860311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.799886271Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.799909251Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.800183682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"latest inventory collection is unchanged","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.801301623Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"original_time_started":"2026-06-10 21:34:48.428779 UTC","original_id":"3fdd93ba-bad0-43e9-9a89-e035946446d4","background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.801332713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"Loaded\":{\"collection_id\":\"3fdd93ba-bad0-43e9-9a89-e035946446d4\",\"time_loaded\":\"2026-06-10T21:35:11.778517738Z\",\"time_started\":\"2026-06-10T21:34:48.428779Z\"}}","iteration":4,"elapsed":"22.695215ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.801637244Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":10,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.801725614Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.801750814Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.802049044Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.802433365Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Timeout"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.802464265Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_mgs._tcp.control-plane.oxide.internal"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.802588915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_updater","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Timeout"} {"msg":"background instance updater explicitly disabled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.802610515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_updater","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.802627255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_updater","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"destroyed_active_vmms\":0,\"disabled\":true,\"failed_active_vmms\":0,\"query_errors\":[],\"saga_errors\":[],\"sagas_completed\":0,\"sagas_started\":0,\"terminated_active_migrations\":0}","iteration":2,"elapsed":"44.13µs"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.802847946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"viewer\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.80553578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.80558065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.8056017Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.80580519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000004ead (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.806687382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.811319829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"BlueprintConfig","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.811373359Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.811397989Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.811637909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.81229419Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.815549815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.815604095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.815630035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.815850696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.817028977Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.817079297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.817103557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.817340508Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.818301639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.820149532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":4,"reason":"Timeout"} {"msg":"VPC route manager running","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:11.820204832Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.820222152Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.820243742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.820266272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.820287922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.820594723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.824670119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:36286","req_id":"e1f0d8d2-1451-4fc6-a90e-fa4ae16b3811","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 2b b7 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e +...........-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.824983139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:36286","req_id":"e1f0d8d2-1451-4fc6-a90e-fa4ae16b3811","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 11191,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.82516874Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.82523343Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:36286","req_id":"e1f0d8d2-1451-4fc6-a90e-fa4ae16b3811","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.82534351Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:19406","req_id":"d16c0279-6b20-4e29-aa3a-171aaf25174f","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: a6 14 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e ............-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.8253723Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:19406","req_id":"d16c0279-6b20-4e29-aa3a-171aaf25174f","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 42516,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.82545497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.82546981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:19406","req_id":"d16c0279-6b20-4e29-aa3a-171aaf25174f","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"reconfigurator config load complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.826011101Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","switches":"Loaded(ReconfiguratorConfigView { version: 1, config: ReconfiguratorConfig { planner_enabled: false, planner_config: PlannerConfig, tuf_repo_pruner_enabled: true }, time_modified: 2026-06-10T21:34:41.697639Z })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.826082261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"config_updated\":false}","iteration":7,"elapsed":"28.927034ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.826137651Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.835480426Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Sled { parent: Fleet, key: b6d65341-167c-41df-9b5c-41cded99c229 (sled), lookup_type: ById(b6d65341-167c-41df-9b5c-41cded99c229) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.835769596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.835797676Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.836143197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"lookup_all_ipv6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.840633543Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.841218924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.842204456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.842270046Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.843093527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.844295849Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.847619154Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.847656664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.847702144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.847724334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.847744944Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.847970935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.923025729Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.92353197Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.92357652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.924134041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.978345634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53460/switch/identifiers","method":"GET"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.978755175Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:13257","req_id":"ac2a76f6-f0d2-419f-8b12-7e311a8e0f4d","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: 9f 1f 01 00 00 01 00 00 00 00 00 01 04 5f 6d 67 ............._mg\n0010: 73 04 5f 74 63 70 0d 63 6f 6e 74 72 6f 6c 2d 70 s._tcp.control-p\n0020: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0030: 6e 61 6c 00 00 21 00 01 00 00 29 04 d0 00 00 00 nal..!....).....\n0040: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.978902775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:13257","req_id":"ac2a76f6-f0d2-419f-8b12-7e311a8e0f4d","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 40735,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 115,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.979164305Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_mgs._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.979263295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.979327995Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:13257","req_id":"ac2a76f6-f0d2-419f-8b12-7e311a8e0f4d","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 57153, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_mgs._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.979954226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.980002336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.980033287Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.980055137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.980792778Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.982659171Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 57153, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1152, tv_nsec: 443529639 } })","dns_name":"_mgs._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.982740621Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.982763191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"sp_ereport_ingester","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Timeout"} {"msg":"SP ereport ingestion disabled, doing nothing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.982788201Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"sp_ereport_ingester","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.982869821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"sp_ereport_ingester","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"disabled\":true,\"errors\":[],\"sps\":[],\"sps_found\":0,\"sps_not_present\":0}","iteration":2,"elapsed":"90.99µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.982895721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":3,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.982916491Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.982938381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.982960001Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.982981311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.983698342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.986560877Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":3,"reason":"Timeout"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.986615957Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.986640527Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.986961127Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.987671858Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":2,"reason":"Timeout"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.987718678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.987801168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:61145","req_id":"e0ec1340-d5bb-4ec3-882c-1973d088edfe","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: ca 1a 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 ............._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.987900809Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:61145","req_id":"e0ec1340-d5bb-4ec3-882c-1973d088edfe","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 51738,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.988041279Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.988208329Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.988231249Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:61145","req_id":"e0ec1340-d5bb-4ec3-882c-1973d088edfe","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.988265099Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:29886","req_id":"3cc387ad-de11-4338-8dbe-83cd4f446c73","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 35 ac 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 5............_de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.988288319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:29886","req_id":"3cc387ad-de11-4338-8dbe-83cd4f446c73","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 13740,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.988357829Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.988370799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.988384719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:29886","req_id":"3cc387ad-de11-4338-8dbe-83cd4f446c73","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.989954602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.996524592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.996561682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.996582522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.997072223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.998202524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.998713015Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:11.998753725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.998910875Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:11.999078576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.000338068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.000413468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.000739928Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.00177477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.004497174Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.004545834Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.004570214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.004594784Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.004617824Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.004783484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"lookup_all_ipv6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.006663337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1152, tv_nsec: 467366296 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.006763237Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.006783917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1152, tv_nsec: 467701716 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.006816477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.006835248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.012063896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.012135636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.012158326Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.012490446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.016116352Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"359e1c9d-0632-4c75-9221-59258c96d23d\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:35:11 GMT\"} })"} {"msg":"dendrite for switch1 is unavailable, cannot perform nat cleanup","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:35:12.016386482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.016491552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"dendrite for switch1 is unavailable, cannot perform nat cleanup\"}","iteration":2,"elapsed":"247.016397ms"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.016591602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53460/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"89e53475-9d0c-4146-a772-86c9c3be6ba5\", \"content-length\": \"10\", \"date\": \"Wed, 10 Jun 2026 21:35:11 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.016811673Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53460/bfd/peers","method":"GET"} {"msg":"VPC route manager sled b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.071948797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.072086917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/vpc-routes","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.073045589Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.075314592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.075583073Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.075612863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.076035703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.077067425Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.08027295Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.08032136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.08034346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.08064472Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.081736972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:45779"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.083463245Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"NoSitrep\"","iteration":3,"elapsed":"100.470483ms"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.083553955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:2912","req_id":"fbf3be9a-8000-43f1-b1ae-3e9c29d811ed","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: b4 ff 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e ............-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.083660095Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:2912","req_id":"fbf3be9a-8000-43f1-b1ae-3e9c29d811ed","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 46335,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.085078537Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.085122917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:2912","req_id":"fbf3be9a-8000-43f1-b1ae-3e9c29d811ed","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.085236467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:45698","req_id":"d9de64f2-4788-4833-b771-68d9657f6d77","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 8a 97 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 ............._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.085267997Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:45698","req_id":"d9de64f2-4788-4833-b771-68d9657f6d77","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 35479,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.085350398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.085397358Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.085434968Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:45698","req_id":"d9de64f2-4788-4833-b771-68d9657f6d77","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.085671938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53460/bfd/peers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a49d3297-1d05-4a69-bd7a-53f158b506cf\", \"content-length\": \"2\", \"date\": \"Wed, 10 Jun 2026 21:35:12 GMT\"} })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.085943898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":2,"elapsed":"312.249557ms"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.148777765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.148918905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.148968825Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.148995035Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.149605186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.154121903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1152, tv_nsec: 614869421 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.154194743Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.154410363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vpc-routes","method":"GET","req_id":"0f1da6aa-2d35-400b-93db-11f531505b5d","remote_addr":"[::1]:45779","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.154468783Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vpc-routes","method":"GET","req_id":"0f1da6aa-2d35-400b-93db-11f531505b5d","remote_addr":"[::1]:45779","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.154950964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:62667","req_id":"098adbd3-5ac2-47c3-aac4-0d6b90da5835","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 66 68 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e fh..........-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.155019664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:62667","req_id":"098adbd3-5ac2-47c3-aac4-0d6b90da5835","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 26216,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.155203724Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.155249924Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:62667","req_id":"098adbd3-5ac2-47c3-aac4-0d6b90da5835","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.155339715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:52530","req_id":"c260474a-33f7-46b5-b927-bd5539ac715c","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: b4 41 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e .A..........-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.155382055Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:52530","req_id":"c260474a-33f7-46b5-b927-bd5539ac715c","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 46145,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.155511945Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.155531135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:52530","req_id":"c260474a-33f7-46b5-b927-bd5539ac715c","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.155857725Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vpc-routes","method":"GET","req_id":"0f1da6aa-2d35-400b-93db-11f531505b5d","remote_addr":"[::1]:45779","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":1353,"response_code":200} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.211752391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/v2p","method":"GET"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.212226852Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.212987783Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:61818"} {"msg":"Determining switch slots managed by switch zones","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.213443703Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.213504453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_mgs._tcp.control-plane.oxide.internal"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.290466671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.291443273Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:565","component":"oximeter"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.291855953Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/vpc-routes\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"0f1da6aa-2d35-400b-93db-11f531505b5d\", \"content-length\": \"152\", \"date\": \"Wed, 10 Jun 2026 21:35:12 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.292061804Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.292089754Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.292616204Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.294080147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.294325557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.298102203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Fleet","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.298171683Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.298193253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.298764014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.300373716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"9ab8d10a-27d1-424d-8873-a5981adfe02f","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.300415366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"9ab8d10a-27d1-424d-8873-a5981adfe02f","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.300473776Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"4012cf5a-82d4-4ba3-8f7e-a824d28f183b","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.300496306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"4012cf5a-82d4-4ba3-8f7e-a824d28f183b","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.300734137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"f1d95c40-92ea-497d-8ec4-22e67cdc68b6","remote_addr":"[::1]:61818","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.300775247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"f1d95c40-92ea-497d-8ec4-22e67cdc68b6","remote_addr":"[::1]:61818","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.300858067Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.300885337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:14639","req_id":"351afc9d-212a-48bd-b51a-a12af720d1da","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 91 55 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e .U..........-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.300942047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:14639","req_id":"351afc9d-212a-48bd-b51a-a12af720d1da","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 37205,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.301060937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.301231978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:14639","req_id":"351afc9d-212a-48bd-b51a-a12af720d1da","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.301286248Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:5261","req_id":"ce4d518f-e6f8-473f-9aa6-80bc2ef4de4f","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: a5 87 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 ............._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.301313368Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:5261","req_id":"ce4d518f-e6f8-473f-9aa6-80bc2ef4de4f","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 42375,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.301424898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.301441978Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.301457058Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:5261","req_id":"ce4d518f-e6f8-473f-9aa6-80bc2ef4de4f","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.301564098Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"9ab8d10a-27d1-424d-8873-a5981adfe02f","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.301789708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"9ab8d10a-27d1-424d-8873-a5981adfe02f","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.302041459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"9ab8d10a-27d1-424d-8873-a5981adfe02f","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.303547041Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"4012cf5a-82d4-4ba3-8f7e-a824d28f183b","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.303619181Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"4012cf5a-82d4-4ba3-8f7e-a824d28f183b","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.304396692Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"4012cf5a-82d4-4ba3-8f7e-a824d28f183b","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.305499914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.305528964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.305550954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.306044775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/v2p","method":"GET","req_id":"f1d95c40-92ea-497d-8ec4-22e67cdc68b6","remote_addr":"[::1]:61818","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":5299,"response_code":200} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.306484456Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.307301457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.307403267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('integration_target:integration_metric') FORMAT Native"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.370839974Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.371612455Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1152, tv_nsec: 832451964 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.371682485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.371787775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/913233fe-92a8-4635-9572-183f495429c4","method":"GET","req_id":"1cc78164-f80f-4275-896f-40ee0ce1b6c8","remote_addr":"127.0.0.1:38338","local_addr":"127.0.0.1:36260","component":"dropshot","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.371982516Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:62295","req_id":"ed3a9c5a-58a1-4119-9bbe-b67fd17691d8","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: 9a b6 01 00 00 01 00 00 00 00 00 01 04 5f 6d 67 ............._mg\n0010: 73 04 5f 74 63 70 0d 63 6f 6e 74 72 6f 6c 2d 70 s._tcp.control-p\n0020: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0030: 6e 61 6c 00 00 21 00 01 00 00 29 04 d0 00 00 00 nal..!....).....\n0040: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.372036966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:62295","req_id":"ed3a9c5a-58a1-4119-9bbe-b67fd17691d8","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 39606,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 115,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.372116176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_mgs._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.372180186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.372209896Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:62295","req_id":"ed3a9c5a-58a1-4119-9bbe-b67fd17691d8","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 57153, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_mgs._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.379009507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f1d95c40-92ea-497d-8ec4-22e67cdc68b6\", \"content-length\": \"102\", \"date\": \"Wed, 10 Jun 2026 21:35:12 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.379139467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","interfaces":"{VirtualNetworkInterfaceHost { physical_host_ip: ::1, virtual_ip: 172.30.0.5, virtual_mac: MacAddr(MacAddr6([168, 64, 37, 240, 0, 0])), vni: Vni(7632503) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.379246717Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"v2p mappings to add","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.379268837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"[]","sled":"SimGimlet00"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.379363097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":10,"elapsed":"577.721203ms"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.379464247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"57c235fa-6bca-4e23-829a-8910b5ad2996\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:35:12 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.38804497Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N018 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.3880937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"18","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.389078972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/913233fe-92a8-4635-9572-183f495429c4","method":"GET","req_id":"1cc78164-f80f-4275-896f-40ee0ce1b6c8","remote_addr":"127.0.0.1:38338","local_addr":"127.0.0.1:36260","component":"dropshot","file":"/home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dropshot-0.17.0/src/server.rs:874","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":17261,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.390133284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"9ab8d10a-27d1-424d-8873-a5981adfe02f","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":89616,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.390410124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"4012cf5a-82d4-4ba3-8f7e-a824d28f183b","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":89926,"response_code":200} {"msg":"checking on VMM","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.444732357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","propolis_id":"758e288f-e299-4857-bb90-31aa0f0e76d8"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.444794097Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:62019/vmms/758e288f-e299-4857-bb90-31aa0f0e76d8/state","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.448442243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:52902"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.449167404Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/nat/ipv4/changeset/13?limit=100","method":"GET","req_id":"794dff77-832e-47ae-ae6d-9884dc68ebbd","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.449452514Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/nat/ipv4/changeset/13?limit=100","method":"GET","req_id":"794dff77-832e-47ae-ae6d-9884dc68ebbd","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.450021595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":1} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.450680186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":2,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.451386727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_mgs._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 57153, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1152, tv_nsec: 912170506 } })","dns_name":"_mgs._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.451423507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.451642578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.451801338Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/13?limit=100","method":"GET","req_id":"794dff77-832e-47ae-ae6d-9884dc68ebbd","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.451838258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/13?limit=100","method":"GET","req_id":"794dff77-832e-47ae-ae6d-9884dc68ebbd","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.452342699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/13?limit=100","method":"GET","req_id":"794dff77-832e-47ae-ae6d-9884dc68ebbd","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.45321064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"4012cf5a-82d4-4ba3-8f7e-a824d28f183b\", \"content-length\": \"405\", \"date\": \"Wed, 10 Jun 2026 21:35:12 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.45335224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","body":"None","uri":"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.453749801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.466841341Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":23,"n_results":5} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.466897721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.466917941Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":36260,"producer_ip":"127.0.0.1","producer_id":"913233fe-92a8-4635-9572-183f495429c4","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.467124811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:12.467408822Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.467943252Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":23} {"msg":"computed internet gateway mappings for sled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.468141033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","assocs":"{6741557b-d6fd-4a60-9261-6fd8cdc1315b: {10.0.0.0: {70896d62-0cf5-462e-9237-181c5c1a02e5}}}","sled":"SimGimlet00"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.468268243Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:62019/eip-gateways","method":"PUT"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.468920864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.468954464Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"17","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.469968186Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"8baaf7e5-1c27-4712-8f0f-b3e098f885ac","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.470016646Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"8baaf7e5-1c27-4712-8f0f-b3e098f885ac","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.470313476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/758e288f-e299-4857-bb90-31aa0f0e76d8/state","method":"GET","req_id":"fb30fa31-53ea-4bea-97c6-169bf29b97fe","remote_addr":"[::1]:52902","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.470340836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/758e288f-e299-4857-bb90-31aa0f0e76d8/state","method":"GET","req_id":"fb30fa31-53ea-4bea-97c6-169bf29b97fe","remote_addr":"[::1]:52902","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.470528576Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/eip-gateways","method":"PUT","req_id":"f567f105-c96f-424f-a758-ed045c04f83c","remote_addr":"[::1]:45779","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.470572037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/eip-gateways","method":"PUT","req_id":"f567f105-c96f-424f-a758-ed045c04f83c","remote_addr":"[::1]:45779","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.470595547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:9293","req_id":"fec5751e-53b0-4b05-a23d-e4f2e1c80feb","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 8c aa 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e ............-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.470685937Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:9293","req_id":"fec5751e-53b0-4b05-a23d-e4f2e1c80feb","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 36010,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.470838697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.470903137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:9293","req_id":"fec5751e-53b0-4b05-a23d-e4f2e1c80feb","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.472095449Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"57ef3b17-5592-428d-bd31-5ecd7c5e8497\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:35:12 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.472296839Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/ports","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.47255139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"8baaf7e5-1c27-4712-8f0f-b3e098f885ac","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.4725938Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"8baaf7e5-1c27-4712-8f0f-b3e098f885ac","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.473288401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"8baaf7e5-1c27-4712-8f0f-b3e098f885ac","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.4793476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vmms/758e288f-e299-4857-bb90-31aa0f0e76d8/state","method":"GET","req_id":"fb30fa31-53ea-4bea-97c6-169bf29b97fe","remote_addr":"[::1]:52902","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","error_message_external":"Not Found","error_message_internal":"VMM with ID 758e288f-e299-4857-bb90-31aa0f0e76d8 not found","latency_us":9029,"response_code":404} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.47947649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/eip-gateways","method":"PUT","req_id":"f567f105-c96f-424f-a758-ed045c04f83c","remote_addr":"[::1]:45779","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":8969,"response_code":204} {"msg":"sitrep GC completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.480098401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","child_tables":"{CaseEreport: ChildTableGcStats { rows_deleted: 0, batches: 1 }, AlertRequest: ChildTableGcStats { rows_deleted: 0, batches: 1 }, SupportBundleRequestDataSelectionFlags: ChildTableGcStats { rows_deleted: 0, batches: 1 }, SupportBundleRequestDataSelectionHostInfo: ChildTableGcStats { rows_deleted: 0, batches: 1 }, SupportBundleRequestDataSelectionEreports: ChildTableGcStats { rows_deleted: 0, batches: 1 }, SupportBundleRequest: ChildTableGcStats { rows_deleted: 0, batches: 1 }, Case: ChildTableGcStats { rows_deleted: 0, batches: 1 }}","sitreps_deleted":0} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.480312841Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"fm_sitrep_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"batch_size\":1000,\"child_tables\":{\"fm_alert_request\":{\"batches\":1,\"rows_deleted\":0},\"fm_case\":{\"batches\":1,\"rows_deleted\":0},\"fm_ereport_in_case\":{\"batches\":1,\"rows_deleted\":0},\"fm_support_bundle_request\":{\"batches\":1,\"rows_deleted\":0},\"fm_support_bundle_request_data_selection_ereports\":{\"batches\":1,\"rows_deleted\":0},\"fm_support_bundle_request_data_selection_flags\":{\"batches\":1,\"rows_deleted\":0},\"fm_support_bundle_request_data_selection_host_info\":{\"batches\":1,\"rows_deleted\":0}},\"errors\":[],\"orphaned_sitreps_deleted\":0,\"sitrep_metadata_batches\":1}","iteration":3,"elapsed":"493.720545ms"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.481116013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.481162133Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":1,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.545454081Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.545868112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:59224","req_id":"407e226b-afc8-4df1-89d2-98dbf4773b7a","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: c9 be 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e ............-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.545926992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:59224","req_id":"407e226b-afc8-4df1-89d2-98dbf4773b7a","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 51646,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.546146302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.546184802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:59224","req_id":"407e226b-afc8-4df1-89d2-98dbf4773b7a","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.546387392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/eip-gateways\", status: 204, headers: {\"x-request-id\": \"f567f105-c96f-424f-a758-ed045c04f83c\", \"date\": \"Wed, 10 Jun 2026 21:35:12 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.546464943Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.546509393Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.547142024Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.547974135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/ports\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"78a6d946-de69-4587-a243-6582ad6179af\", \"content-length\": \"564\", \"date\": \"Wed, 10 Jun 2026 21:35:12 GMT\"} })"} {"msg":"discovered ports for switch","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.548653876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","all-ports":"[Internal(Internal(\"int0\")), Rear(Rear(\"rear0\")), Rear(Rear(\"rear1\")), Rear(Rear(\"rear2\")), Rear(Rear(\"rear3\")), Rear(Rear(\"rear4\")), Rear(Rear(\"rear5\")), Rear(Rear(\"rear6\")), Rear(Rear(\"rear7\")), Rear(Rear(\"rear8\")), Rear(Rear(\"rear9\")), Rear(Rear(\"rear10\")), Rear(Rear(\"rear11\")), Rear(Rear(\"rear12\")), Rear(Rear(\"rear13\")), Rear(Rear(\"rear14\")), Rear(Rear(\"rear15\")), Rear(Rear(\"rear16\")), Rear(Rear(\"rear17\")), Rear(Rear(\"rear18\")), Rear(Rear(\"rear19\")), Rear(Rear(\"rear20\")), Rear(Rear(\"rear21\")), Rear(Rear(\"rear22\")), Rear(Rear(\"rear23\")), Rear(Rear(\"rear24\")), Rear(Rear(\"rear25\")), Rear(Rear(\"rear26\")), Rear(Rear(\"rear27\")), Rear(Rear(\"rear28\")), Rear(Rear(\"rear29\")), Rear(Rear(\"rear30\")), Rear(Rear(\"rear31\")), Qsfp(Qsfp(\"qsfp0\")), Qsfp(Qsfp(\"qsfp1\")), Qsfp(Qsfp(\"qsfp2\")), Qsfp(Qsfp(\"qsfp3\")), Qsfp(Qsfp(\"qsfp4\")), Qsfp(Qsfp(\"qsfp5\")), Qsfp(Qsfp(\"qsfp6\")), Qsfp(Qsfp(\"qsfp7\")), Qsfp(Qsfp(\"qsfp8\")), Qsfp(Qsfp(\"qsfp9\")), Qsfp(Qsfp(\"qsfp10\")), Qsfp(Qsfp(\"qsfp11\")), Qsfp(Qsfp(\"qsfp12\")), Qsfp(Qsfp(\"qsfp13\")), Qsfp(Qsfp(\"qsfp14\")), Qsfp(Qsfp(\"qsfp15\")), Qsfp(Qsfp(\"qsfp16\")), Qsfp(Qsfp(\"qsfp17\")), Qsfp(Qsfp(\"qsfp18\")), Qsfp(Qsfp(\"qsfp19\")), Qsfp(Qsfp(\"qsfp20\")), Qsfp(Qsfp(\"qsfp21\")), Qsfp(Qsfp(\"qsfp22\")), Qsfp(Qsfp(\"qsfp23\")), Qsfp(Qsfp(\"qsfp24\")), Qsfp(Qsfp(\"qsfp25\")), Qsfp(Qsfp(\"qsfp26\")), Qsfp(Qsfp(\"qsfp27\")), Qsfp(Qsfp(\"qsfp28\")), Qsfp(Qsfp(\"qsfp29\")), Qsfp(Qsfp(\"qsfp30\")), Qsfp(Qsfp(\"qsfp31\"))]","switch-slot":"switch0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.548759716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.548781916Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.549270727Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.549713408Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/vmms/758e288f-e299-4857-bb90-31aa0f0e76d8/state\", status: 404, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"fb30fa31-53ea-4bea-97c6-169bf29b97fe\", \"content-length\": \"120\", \"date\": \"Wed, 10 Jun 2026 21:35:12 GMT\"} })"} {"msg":"sled-agent error indicates that this instance's VMM has failed!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.549755198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"Error Response: status: 404 Not Found; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"fb30fa31-53ea-4bea-97c6-169bf29b97fe\", \"content-length\": \"120\", \"date\": \"Wed, 10 Jun 2026 21:35:12 GMT\"}; value: Error { error_code: Some(\"NO_SUCH_INSTANCE\"), message: \"Not Found\", request_id: \"fb30fa31-53ea-4bea-97c6-169bf29b97fe\" }"} {"msg":"updating instance state","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.549787608Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","state":"SledVmmState { vmm_state: VmmRuntimeState { state: Failed(NoSuchInstance), generation: Generation(3), time_updated: 2026-06-10T21:35:12.549745688Z }, migration_in: None, migration_out: None }"} {"msg":"received new VMM runtime state from sled agent","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.549813318Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","migration_state":"Migrations { migration_in: None, migration_out: None }","vmm_state":"VmmRuntimeState { state: Failed(NoSuchInstance), generation: Generation(3), time_updated: 2026-06-10T21:35:12.549745688Z }","propolis_id":"758e288f-e299-4857-bb90-31aa0f0e76d8"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.549839948Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.549864588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.550251868Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.550995209Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"collected results from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.55133701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1,"n_results":1} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.5514065Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"top of inner collection loop, waiting for next request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.55143167Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"producer_port":51542,"producer_ip":"::1","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de","component":"collection-task","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.552472532Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/nat/ipv4/changeset/13?limit=100","method":"GET","req_id":"794dff77-832e-47ae-ae6d-9884dc68ebbd","remote_addr":"127.0.0.1:64900","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":103004,"response_code":200} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.552547192Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N017 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.552566682Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"17","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.552994203Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"8baaf7e5-1c27-4712-8f0f-b3e098f885ac","remote_addr":"127.0.0.1:54966","local_addr":"127.0.0.1:49805","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":83041,"response_code":200} {"msg":"determining switch slot managed by switch zone","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.603125629Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","zone_address":"::1"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.603221739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"MgsClient","rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:57153/local/switch-id","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.611090721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:49805/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"8baaf7e5-1c27-4712-8f0f-b3e098f885ac\", \"content-length\": \"29\", \"date\": \"Wed, 10 Jun 2026 21:35:12 GMT\"} })"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.611244462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"ignoring request to update existing metric producer, since the endpoint information is the same as the existing","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.611311372Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","producer_id":"a6458b7d-87c3-4483-be96-854d814c20de"} {"msg":"refreshed list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.611334752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:640","component":"oximeter","n_current_tasks":2,"n_pruned_tasks":0} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.612759844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.612852084Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.615063987Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.61660967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.61665571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"6","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.618116222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":1} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.618174772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.618198272Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":24} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.618658013Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"dc82192a-7605-45e7-8ba0-561b7f23ce1f\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:35:12 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.618941083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/rpw/nat/trigger","method":"POST"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:12.620614696Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/results_sink.rs:269","component":"oximeter","error":"Failed to check out connection to database: No backends found for this service"} {"msg":"unrolling 24 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.620952356Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"fetching timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.636727631Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.636816401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","sql":"SELECT * FROM oximeter.timeseries_schema WHERE timeseries_name IN ('collection_target:cpus_provisioned', 'collection_target:ram_provisioned', 'http_service:request_latency_histogram', 'integration_target:integration_metric') FORMAT Native"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.638971224Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.639023134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.642421599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.644008462Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N006 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.644053862Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"6","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.657295492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":4} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.662170789Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":24,"sql":"INSERT INTO oximeter.fields_string FORMAT Native"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.664793903Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/rpw/nat/trigger\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"80cd4fbf-b7ef-46f1-8b09-6a57f21d3d4c\", \"content-length\": \"4\", \"date\": \"Wed, 10 Jun 2026 21:35:12 GMT\"} })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.665077624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"3","iteration":2,"elapsed":"866.380595ms"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.667415177Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.667589698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.668275119Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.671244333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.671317193Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"7","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.676268491Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"MgsClient","rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:57153/local/switch-id\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"1a237587-1974-4dda-a4d0-2264ec3c37f4\", \"content-length\": \"26\", \"date\": \"Wed, 10 Jun 2026 21:35:12 GMT\"} })"} {"msg":"identified switch slot for switch zone","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.676404391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","zone_address":"::1","slot":"SpIdentifier {\n slot: 0,\n type_: Switch,\n}"} {"msg":"completed mapping switch zones to switch slots","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.676563771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mappings":"{\n switch0: ::1,\n}"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.739017317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"new VMM runtime state from sled agent requires an instance-update saga","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.739773768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","migration_out_needs_update":false,"migration_in_needs_update":false,"vmm_needs_update":true,"propolis_id":"758e288f-e299-4857-bb90-31aa0f0e76d8"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.739884478Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.739912648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.74076466Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.742570802Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.742631572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.743422664Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.746205268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N007 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.746246118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"7","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.750261744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":24} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.750311234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":11,"sql":"INSERT INTO oximeter.fields_u16 FORMAT Native"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.751791226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.751844087Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.752961198Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.757026864Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.757211774Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.757709655Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.759330467Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.759411297Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.762980773Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.764246815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.764290985Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"8","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.765494677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.765744677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.766871529Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.770214734Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:19898","req_id":"a3ba6ec0-59d4-48e0-a461-c1097e306ad3","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: f9 de 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 ............._de\n0010: 6e 64 72 69 74 65 04 5f 74 63 70 0d 63 6f 6e 74 ndrite._tcp.cont\n0020: 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 69 64 65 08 rol-plane.oxide.\n0030: 69 6e 74 65 72 6e 61 6c 00 00 21 00 01 00 00 29 internal..!....)\n0040: 04 d0 00 00 00 00 00 00 ........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.770592574Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:19898","req_id":"a3ba6ec0-59d4-48e0-a461-c1097e306ad3","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 63966,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 9,\n 95,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.770819835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_dendrite._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.770988575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.771060965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:19898","req_id":"a3ba6ec0-59d4-48e0-a461-c1097e306ad3","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_dendrite._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.771555136Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.771590236Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.772384857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.77409751Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N008 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.77413442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"8","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.775927342Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.775981753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.776438223Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.776495753Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.777943846Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.779766108Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }, key: bc9bc2c4-5463-4a24-8985-95e5fd9839fe, lookup_type: ById(bc9bc2c4-5463-4a24-8985-95e5fd9839fe) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.779872189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.779900859Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.779922819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.779944139Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.78084317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.78087599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"9","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.781818482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_u16","n_rows":11} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.781852962Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":17,"sql":"INSERT INTO oximeter.fields_uuid FORMAT Native"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.782310332Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_dendrite._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53876, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1153, tv_nsec: 243083051 } })","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.782357492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.787863731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.787993441Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.788021111Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.788044211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.788071381Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.788098661Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.788121531Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.788156431Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.789398253Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N009 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.789428053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"9","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.791504226Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.791555306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.791601336Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.791624396Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.793296349Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.793349769Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.793374159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.79374596Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.794711071Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.794833571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"10","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.795864793Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.817005865Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Modify","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"Instance\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.817084675Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"vmm_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.817288966Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"preparing saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.817316676Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga create","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.817624176Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"start-instance-update","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":4,\"graph\":{\"edge_property\":\"directed\",\"edges\":[[0,1,null],[1,2,null],[3,0,null],[2,4,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"common.uuid_generate\",\"label\":\"GenerateInstanceLockId\",\"name\":\"saga_instance_lock_id\"}},{\"Action\":{\"action_name\":\"start_instance_update.lock_instance\",\"label\":\"LockInstance\",\"name\":\"updater_lock\"}},{\"Action\":{\"action_name\":\"start_instance_update.fetch_state_and_start_real_saga\",\"label\":\"FetchStateAndStartRealSaga\",\"name\":\"state\"}},{\"Start\":{\"params\":{\"authz_instance\":{\"key\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\",\"lookup_type\":{\"ById\":\"4c2abea8-5821-43d1-a5cf-4a678fe2e566\"},\"parent\":{\"key\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\",\"lookup_type\":{\"ById\":\"2a447d09-a449-48c4-bcb9-8479c8b619d3\"},\"parent\":{\"key\":\"001de000-5110-4000-8000-000000000000\",\"lookup_type\":{\"ById\":\"001de000-5110-4000-8000-000000000000\"},\"parent\":null}}},\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"UserBuiltin\":{\"user_builtin_id\":\"001de000-05e4-4000-8000-000000000002\"}},\"credential_id\":null,\"device_token_expiration\":null},null]}}}}},\"End\"]},\"saga_name\":\"start-instance-update\",\"start_node\":3}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.817709716Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"start-instance-update","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.820939521Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_uuid","n_rows":17} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.820986091Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":19,"n_rows":11,"sql":"INSERT INTO oximeter.measurements_histogramu64 FORMAT Native"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.821447972Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:20402","req_id":"b20af2e8-bc3b-47a6-a5b4-b7c7afe02d00","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: dc 3a 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e .:..........-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.821509482Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:20402","req_id":"b20af2e8-bc3b-47a6-a5b4-b7c7afe02d00","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 56378,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.821612582Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.821631602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:20402","req_id":"b20af2e8-bc3b-47a6-a5b4-b7c7afe02d00","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.823168935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.835954334Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }, key: bc9bc2c4-5463-4a24-8985-95e5fd9839fe, lookup_type: ById(bc9bc2c4-5463-4a24-8985-95e5fd9839fe) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"VpcRouter\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.836032514Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.836200585Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }, key: bc9bc2c4-5463-4a24-8985-95e5fd9839fe, lookup_type: ById(bc9bc2c4-5463-4a24-8985-95e5fd9839fe) }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.836289105Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.836313165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.836335485Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.837086876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.83950701Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N010 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.83954476Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"10","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.920811894Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/switch/identifiers","method":"GET"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.923212028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:12.923338078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"start-instance-update","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.923363518Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.923382588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"3","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.925401771Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.925456311Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"11","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.930738409Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.930873799Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"3","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.932664602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.932736262Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.932759102Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.933054033Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.936613308Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N011 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.936709768Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"11","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.938175221Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.938698191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"0","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.941271205Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_histogramu64","n_rows":11} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.941326285Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":13,"sql":"INSERT INTO oximeter.measurements_i64 FORMAT Native"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.946609833Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.946671764Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.947242364Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.948609797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.948644107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"12","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.949555258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.949622168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.949647018Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.953128553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.954043955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N000 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.954091115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(String(\"f229495f-ac1c-4337-a308-4a53f5ce7a62\"))","node_id":"0","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.955480317Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N012 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.955541307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"12","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.956574679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"2eef01b3-f803-496b-b687-1bc5499d29a0\", \"content-length\": \"717\", \"date\": \"Wed, 10 Jun 2026 21:35:12 GMT\"} })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.956731819Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_mgd._tcp.control-plane.oxide.internal"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.961779147Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.975086397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcRouter { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }, key: bc9bc2c4-5463-4a24-8985-95e5fd9839fe, lookup_type: ById(bc9bc2c4-5463-4a24-8985-95e5fd9839fe) }","action":"ListChildren","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.975189967Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.975213357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.97680713Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.980163235Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.980235895Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"1","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.980959446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.980988246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"13","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.982424298Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"id":"0f3ad46e-6724-4a78-b9ba-4da42921b9b4","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":13} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.982452618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.982801199Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:57118","req_id":"8bd51031-8e61-43ed-bc2d-a16683723626","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: 3e 4d 01 00 00 01 00 00 00 00 00 01 04 5f 6d 67 >M..........._mg\n0010: 64 04 5f 74 63 70 0d 63 6f 6e 74 72 6f 6c 2d 70 d._tcp.control-p\n0020: 6c 61 6e 65 05 6f 78 69 64 65 08 69 6e 74 65 72 lane.oxide.inter\n0030: 6e 61 6c 00 00 21 00 01 00 00 29 04 d0 00 00 00 nal..!....).....\n0040: 00 00 00 ..."} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.982889169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:57118","req_id":"8bd51031-8e61-43ed-bc2d-a16683723626","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 15949,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"_mgd._tcp.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"_mgd._tcp.control-plane.oxide.internal.\"),\n query_type: SRV,\n query_class: IN,\n },\n },\n ],\n original: [\n 4,\n 95,\n 109,\n 103,\n 100,\n 4,\n 95,\n 116,\n 99,\n 112,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 33,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.983101169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"_mgd._tcp"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.983194369Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.983242539Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:57118","req_id":"8bd51031-8e61-43ed-bc2d-a16683723626","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","records":"[Record { name_labels: Name(\"_mgd._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53460, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\") }) }]","query":"LowerQuery { name: LowerName(Name(\"_mgd._tcp.control-plane.oxide.internal.\")), original: Query { name: Name(\"_mgd._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN } }"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.98355117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","response":"SrvLookup(Lookup { query: Query { name: Name(\"_mgd._tcp.control-plane.oxide.internal.\"), query_type: SRV, query_class: IN }, records: [Record { name_labels: Name(\"_mgd._tcp.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: SRV(SRV { priority: 0, weight: 0, port: 53460, target: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1153, tv_nsec: 444455369 } })","dns_name":"_mgd._tcp.control-plane.oxide.internal"} {"msg":"lookup_service_targets: looking up SRV target","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.98358598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.984121231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.984164871Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.993284255Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"instance update: attempting to lock instance","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.995064708Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_id":"f229495f-ac1c-4337-a308-4a53f5ce7a62","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.995190888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.995225048Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.995971189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.997679392Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N013 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.997727982Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"13","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:12.999399494Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:4018","req_id":"5ae58bd0-bef8-4ba3-91e4-665e9e87feec","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: c6 d6 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e ............-den\n0010: 64 72 69 74 65 2d 62 36 64 36 35 33 34 31 2d 31 drite-b6d65341-1\n0020: 36 37 63 2d 34 31 64 66 2d 39 62 35 63 2d 34 31 67c-41df-9b5c-41\n0030: 63 64 65 64 39 39 63 32 32 39 04 68 6f 73 74 0d cded99c229.host.\n0040: 63 6f 6e 74 72 6f 6c 2d 70 6c 61 6e 65 05 6f 78 control-plane.ox\n0050: 69 64 65 08 69 6e 74 65 72 6e 61 6c 00 00 1c 00 ide.internal....\n0060: 01 00 00 29 04 d0 00 00 00 00 00 00 ...)........"} {"msg":"message_request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.999482424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:4018","req_id":"5ae58bd0-bef8-4ba3-91e4-665e9e87feec","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 50902,\n message_type: Query,\n op_code: Query,\n authoritative: false,\n truncation: false,\n recursion_desired: true,\n recursion_available: false,\n authentic_data: false,\n checking_disabled: false,\n response_code: NoError,\n query_count: 1,\n answer_count: 0,\n name_server_count: 0,\n additional_count: 1,\n },\n queries: Queries {\n queries: [\n LowerQuery {\n name: LowerName(\n Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 45,\n 100,\n 101,\n 110,\n 100,\n 114,\n 105,\n 116,\n 101,\n 45,\n 98,\n 54,\n 100,\n 54,\n 53,\n 51,\n 52,\n 49,\n 45,\n 49,\n 54,\n 55,\n 99,\n 45,\n 52,\n 49,\n 100,\n 102,\n 45,\n 57,\n 98,\n 53,\n 99,\n 45,\n 52,\n 49,\n 99,\n 100,\n 101,\n 100,\n 57,\n 57,\n 99,\n 50,\n 50,\n 57,\n 4,\n 104,\n 111,\n 115,\n 116,\n 13,\n 99,\n 111,\n 110,\n 116,\n 114,\n 111,\n 108,\n 45,\n 112,\n 108,\n 97,\n 110,\n 101,\n 5,\n 111,\n 120,\n 105,\n 100,\n 101,\n 8,\n 105,\n 110,\n 116,\n 101,\n 114,\n 110,\n 97,\n 108,\n 0,\n 0,\n 28,\n 0,\n 1,\n ],\n },\n answers: [],\n name_servers: [],\n additionals: [],\n sig0: [],\n edns: Some(\n Edns {\n rcode_high: 0,\n version: 0,\n flags: EdnsFlags {\n dnssec_ok: false,\n z: 0,\n },\n max_payload: 1232,\n options: OPT {\n options: [],\n },\n },\n ),\n}"} {"msg":"query key","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.999644475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"store","component":"internal_dns_server","key":"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:12.999698165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"peer_addr":"[::1]:4018","req_id":"5ae58bd0-bef8-4ba3-91e4-665e9e87feec","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.05555459Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53460/switch/identifiers","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.056011321Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.056046461Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.057039002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.058514315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.058556215Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.059065515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.059756606Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.059784086Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"14","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.06197155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.06206373Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.062472241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.063593712Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N014 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.063639222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"14","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.064685844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.064743744Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.065015054Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.065793586Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.065834946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.066005946Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.067001798Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.067058468Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.067249658Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.068273739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53460/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"7b6bafc3-faf1-415f-aa33-a8438d87182e\", \"content-length\": \"10\", \"date\": \"Wed, 10 Jun 2026 21:35:13 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.06837168Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.06839854Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.069170981Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.070711633Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.070966914Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.071002014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.071106144Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.071665855Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.073615138Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.073692628Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"15","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.07536677Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.07548163Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.075509571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.076297072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.077525374Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }, key: bda8f46e-e360-4dad-90aa-448739d63312, lookup_type: ById(bda8f46e-e360-4dad-90aa-448739d63312) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.077781424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.077834844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.077860954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.078032164Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"no DPD client for switch switch_slot","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:35:13.078794786Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","switch_location":"switch1"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.079004786Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/port/qsfp0/settings?tag=omicron","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.079502137Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N015 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.079528797Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"15","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.081332169Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/port/qsfp0/settings?tag=omicron\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"2abc7af4-8d91-4c61-b28f-7ed4bfa87398\", \"content-length\": \"12\", \"date\": \"Wed, 10 Jun 2026 21:35:13 GMT\"} })"} {"msg":"retrieved port settings from switch","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.08145848Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","settings":"PortSettings { links: {} }","switch_port_id":"Name(Name(\"qsfp0\"))"} {"msg":"clearing switch port settings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.08148289Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","port_id":"Qsfp(Qsfp(\"qsfp0\"))","switch_location":"switch0"} {"msg":"port settings up to date, skipping","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.08150445Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","switch_location":"switch0","switch_port_id":"Name(Name(\"qsfp0\"))"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.08157402Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/port/qsfp2/settings?tag=omicron","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.08203131Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.082070731Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.082932742Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.083006952Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.084985775Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.085229135Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.085296125Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.086735088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.08833123Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.08837553Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"16","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.092897857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/port/qsfp2/settings?tag=omicron\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"da720632-8e1f-4493-84a6-9ec3bdbd3a46\", \"content-length\": \"12\", \"date\": \"Wed, 10 Jun 2026 21:35:13 GMT\"} })"} {"msg":"retrieved port settings from switch","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.092949847Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","settings":"PortSettings { links: {} }","switch_port_id":"Name(Name(\"qsfp2\"))"} {"msg":"clearing switch port settings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.092972517Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","port_id":"Qsfp(Qsfp(\"qsfp2\"))","switch_location":"switch0"} {"msg":"port settings up to date, skipping","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.092995307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","switch_location":"switch0","switch_port_id":"Name(Name(\"qsfp2\"))"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.093078037Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/port/qsfp1/settings?tag=omicron","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.093338028Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.093363918Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.093778268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.094452599Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.09448026Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.09450166Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.0947492Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.095306401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.100505029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"Instance\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.100612519Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"attempting to acquire instance updater lock","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.100636739Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","current_gen":"Generation(Generation(1))","updater_id":"f229495f-ac1c-4337-a308-4a53f5ce7a62","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.100671189Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.100698639Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.100763569Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.101859291Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N016 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.101916211Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"16","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.103909284Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/port/qsfp1/settings?tag=omicron\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"5c57d010-2059-4653-b8e4-994db24dc4d7\", \"content-length\": \"12\", \"date\": \"Wed, 10 Jun 2026 21:35:13 GMT\"} })"} {"msg":"retrieved port settings from switch","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.103983844Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","settings":"PortSettings { links: {} }","switch_port_id":"Name(Name(\"qsfp1\"))"} {"msg":"clearing switch port settings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.104009074Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","port_id":"Qsfp(Qsfp(\"qsfp1\"))","switch_location":"switch0"} {"msg":"port settings up to date, skipping","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.104035524Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","switch_location":"switch0","switch_port_id":"Name(Name(\"qsfp1\"))"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.104061064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53460/static/route4","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.105650367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.116944094Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }, key: bda8f46e-e360-4dad-90aa-448739d63312, lookup_type: ById(bda8f46e-e360-4dad-90aa-448739d63312) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"VpcSubnet\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.117041624Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.117059674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.117082134Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.117427815Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"attempting to acquire instance updater lock","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.118719337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","current_gen":"Generation(Generation(1))","updater_id":"f229495f-ac1c-4337-a308-4a53f5ce7a62","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.118858557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.118894217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.119441268Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.121299781Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.121344391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"5","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.123779904Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.123829794Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.124155935Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"instance updater lock acquired!","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.125962888Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","already_locked":true,"locked_gen":"Generation(Generation(2))","updater_id":"f229495f-ac1c-4337-a308-4a53f5ce7a62","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"instance update: lock acquired!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.126283878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","lock":"UpdaterLock { updater_id: f229495f-ac1c-4337-a308-4a53f5ce7a62, locked_gen: Generation(Generation(2)) }","saga_id":"f229495f-ac1c-4337-a308-4a53f5ce7a62","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.126322428Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N001 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.126342618Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Object {\"locked_gen\": Number(2), \"updater_id\": String(\"f229495f-ac1c-4337-a308-4a53f5ce7a62\")})","node_id":"1","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.126363288Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N005 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.126379678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"5","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.131125126Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53460/static/route4\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d5713b85-c37a-481d-bbe1-b03e1a2c634c\", \"content-length\": \"2\", \"date\": \"Wed, 10 Jun 2026 21:35:13 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.131209876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53460/static/route6","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.132349397Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53460/static/route6\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a5f351d8-2bef-42fc-8b6a-4e1aa0445736\", \"content-length\": \"2\", \"date\": \"Wed, 10 Jun 2026 21:35:13 GMT\"} })"} {"msg":"retrieved existing routes","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.132454068Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","routes":"{switch0: {}}"} {"msg":"retrieved desired routes","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.132479738Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","routes":"{}"} {"msg":"calculated static routes to add","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.132498828Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","routes":"{}"} {"msg":"calculated static routes to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.132516878Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","routes":"{}"} {"msg":"checking for changes to loopback addresses","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.132535158Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.132551588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.132573578Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.133223889Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.133691909Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.13372256Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.13415217Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.135949353Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.135978863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.136598634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.137880446Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.137934286Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"4","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.138440647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.138487777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"2","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.142122522Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.145958398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.145993808Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.146739269Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.147856811Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/loopback/ipv4","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.148750002Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.148802513Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.148830783Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.148856423Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.149120863Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.150551045Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/loopback/ipv4\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"3485efe8-89de-4043-b222-1003339b38e6\", \"content-length\": \"2\", \"date\": \"Wed, 10 Jun 2026 21:35:13 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.150652575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:53876/loopback/ipv6","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.154881072Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }, key: bda8f46e-e360-4dad-90aa-448739d63312, lookup_type: ByName(\"default\") }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.154919222Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.154942922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.154962212Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.154978592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.155404933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.155435083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.155459183Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.155811333Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.156678835Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 undo_finished"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.156702595Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFinished","node_id":"4","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.158273807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"DpdClient","rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:53876/loopback/ipv6\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ba9fb435-23e0-4ec5-b0f9-ac52bccabb9d\", \"content-length\": \"2\", \"date\": \"Wed, 10 Jun 2026 21:35:13 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.158376917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.158403307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.158743598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.159399159Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.159823649Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.15996363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.161227422Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.162850064Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.162886534Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoStarted","node_id":"3","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.164038296Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.164093366Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.164120636Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.165058457Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.167756302Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.167803612Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.167825382Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.168697933Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.169552634Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.175860354Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.175957564Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.175983934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.176371965Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.177390706Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.177436836Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.177954477Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.182393934Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"758e288f-e299-4857-bb90-31aa0f0e76d8","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.182458124Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.182514394Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.183057955Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"CreateVmmRecord","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.187375572Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.195420444Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"VpcSubnet { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }, key: bda8f46e-e360-4dad-90aa-448739d63312, lookup_type: ByName(\"default\") }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"VpcSubnet\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.195484964Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.195507014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.195532504Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.195832014Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.197105726Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.197149346Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.197439207Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.198497659Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N003 undo_failed"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.198543019Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"UndoFailed(PermanentFailure { source_error: Object {\"message\": String(\"undo action attempt 1: Internal Error: database error (kind = CheckViolation): failed to satisfy CHECK constraint (((state = 'failed':::public.vmm_state) AND (failure_reason IS NOT NULL)) OR ((state != 'failed':::public.vmm_state) AND (failure_reason IS NULL)))\\nCONSTRAINT NAME: failure_reason_iff_failed\\n\")} })","node_id":"3","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"instance update: no updates required, releasing lock.","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.19924117Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","current.target_vmm":"None","current.active_vmm":"None","current.migration":"None","current.runtime_state":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(40)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.1993752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.19941719Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.19976307Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.201831424Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.201896484Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.202419915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.205168319Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.205264609Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.20569787Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.20573313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.20602898Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"no bootstore config found in db","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-10T21:35:13.206850021Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","key":"network_key"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.206876711Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.206897191Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.207348542Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"instance update: instance will not reincarnate","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.209410475Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","intended_state":"stopped","karmic_state":"WillReincarnate","needs_reincarnation":false,"auto_restart_config":"InstanceAutoRestart { policy: None, cooldown: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.209473795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N002 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.209493765Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"2","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:35:13.216751096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_running\"","result":"failure","saga_name":"instance-start","saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","undo_error":"PermanentFailure { source_error: Object {\"message\": String(\"undo action attempt 1: Internal Error: database error (kind = CheckViolation): failed to satisfy CHECK constraint (((state = 'failed':::public.vmm_state) AND (failure_reason IS NOT NULL)) OR ((state != 'failed':::public.vmm_state) AND (failure_reason IS NULL)))\\nCONSTRAINT NAME: failure_reason_iff_failed\\n\")} }","undo_error_node_name":"\"vmm_record\""} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.217704078Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.219822391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.219915571Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.220722483Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.222314715Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 started"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.222368505Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Started","node_id":"4","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"updating bootstore config","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.223462647Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","config":"SystemNetworkingConfig { rack_network_config: RackNetworkConfig { rack_subnet: Ipv6Net { addr: fd00:1122:3344:100::, width: 56 }, infra_ip_first: 0.0.0.0, infra_ip_last: 0.0.0.0, ports: [], bgp: [], bfd: [] }, blueprint_external_networking_config: Some(BlueprintExternalNetworkingConfig { blueprint_external_networking_generation: Generation(1), service_zone_nat_entries: ServiceZoneNatEntries({54ea84a1-fcdf-409a-93c5-25cd3572809f (omicron_zone): ServiceZoneNatEntry { zone_id: 54ea84a1-fcdf-409a-93c5-25cd3572809f (omicron_zone), sled_underlay_ip: ::1, nic_mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 0])), vni: Vni(100), kind: ExternalDns { external_ip: ::1 } }, 7b6b0737-8a98-4803-a77e-125749410fc5 (omicron_zone): ServiceZoneNatEntry { zone_id: 7b6b0737-8a98-4803-a77e-125749410fc5 (omicron_zone), sled_underlay_ip: ::1, nic_mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 2])), vni: Vni(100), kind: BoundaryNtp { snat_cfg: SourceNatConfig { ip: 1.2.3.4, first_port: 0, last_port: 16383 } } }, 913233fe-92a8-4635-9572-183f495429c4 (omicron_zone): ServiceZoneNatEntry { zone_id: 913233fe-92a8-4635-9572-183f495429c4 (omicron_zone), sled_underlay_ip: ::1, nic_mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 1])), vni: Vni(100), kind: Nexus { external_ip: 127.0.0.1 } }}) }) }"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.223697577Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:12345/network-bootstore-config","method":"PUT"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.224096728Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Err(reqwest::Error { kind: Request, url: \"http://[::1]:12345/network-bootstore-config\", source: hyper_util::client::legacy::Error(Connect, ConnectError(\"tcp connect error\", [::1]:12345, Os { code: 146, kind: ConnectionRefused, message: \"Connection refused\" })) })"} {"msg":"error updating bootstore","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:35:13.224131698Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"rack_id":"c19a698f-c6f9-4a17-ae30-20d711b8f7dc","background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","error":"Communication Error: error sending request for url (http://[::1]:12345/network-bootstore-config)","request":"WriteNetworkConfigRequest { generation: 3, body: SystemNetworkingConfig { rack_network_config: RackNetworkConfig { rack_subnet: Ipv6Net { addr: fd00:1122:3344:100::, width: 56 }, infra_ip_first: 0.0.0.0, infra_ip_last: 0.0.0.0, ports: [], bgp: [], bfd: [] }, blueprint_external_networking_config: Some(BlueprintExternalNetworkingConfig { blueprint_external_networking_generation: Generation(1), service_zone_nat_entries: ServiceZoneNatEntries({54ea84a1-fcdf-409a-93c5-25cd3572809f (omicron_zone): ServiceZoneNatEntry { zone_id: 54ea84a1-fcdf-409a-93c5-25cd3572809f (omicron_zone), sled_underlay_ip: ::1, nic_mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 0])), vni: Vni(100), kind: ExternalDns { external_ip: ::1 } }, 7b6b0737-8a98-4803-a77e-125749410fc5 (omicron_zone): ServiceZoneNatEntry { zone_id: 7b6b0737-8a98-4803-a77e-125749410fc5 (omicron_zone), sled_underlay_ip: ::1, nic_mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 2])), vni: Vni(100), kind: BoundaryNtp { snat_cfg: SourceNatConfig { ip: 1.2.3.4, first_port: 0, last_port: 16383 } } }, 913233fe-92a8-4635-9572-183f495429c4 (omicron_zone): ServiceZoneNatEntry { zone_id: 913233fe-92a8-4635-9572-183f495429c4 (omicron_zone), sled_underlay_ip: ::1, nic_mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 1])), vni: Vni(100), kind: Nexus { external_ip: 127.0.0.1 } }}) }) } }","switch_slot":"switch0"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.225051549Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":2,"elapsed":"1.425217068s"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.22564837Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"95fb03ba-6bcd-4120-ab8b-3b04939451f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 95fb03ba-6bcd-4120-ab8b-3b04939451f0, saga_log: SagaLog { saga_id: 95fb03ba-6bcd-4120-ab8b-3b04939451f0, unwinding: true, events: [N024 started, N024 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N003 started, N003 succeeded, N004 started, N004 succeeded, N005 started, N005 succeeded, N017 started, N017 succeeded, N016 started, N016 succeeded, N015 started, N015 succeeded, N014 started, N014 succeeded, N013 started, N013 succeeded, N012 started, N012 succeeded, N011 started, N011 succeeded, N010 started, N010 succeeded, N009 started, N009 succeeded, N008 started, N008 succeeded, N007 started, N007 succeeded, N006 started, N006 succeeded, N018 started, N018 succeeded, N019 started, N019 succeeded, N020 started, N020 succeeded, N021 started, N021 succeeded, N022 started, N022 succeeded, N023 started, N023 failed, N022 undo_started, N022 undo_finished, N021 undo_started, N021 undo_finished, N020 undo_started, N020 undo_finished, N019 undo_started, N019 undo_finished, N018 undo_started, N018 undo_finished, N017 undo_started, N017 undo_finished, N006 undo_started, N006 undo_finished, N007 undo_started, N007 undo_finished, N008 undo_started, N008 undo_finished, N009 undo_started, N009 undo_finished, N010 undo_started, N010 undo_finished, N011 undo_started, N011 undo_finished, N012 undo_started, N012 undo_finished, N013 undo_started, N013 undo_finished, N014 undo_started, N014 undo_finished, N015 undo_started, N015 undo_finished, N016 undo_started, N016 undo_finished, N005 undo_started, N005 undo_finished, N004 undo_started, N004 undo_finished, N003 undo_started, N003 undo_failed], node_status: {0: Succeeded(String(\"758e288f-e299-4857-bb90-31aa0f0e76d8\")), 1: Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\")), 2: Succeeded(String(\"::1:14\")), 3: UndoFailed(PermanentFailure { source_error: Object {\"message\": String(\"undo action attempt 1: Internal Error: database error (kind = CheckViolation): failed to satisfy CHECK constraint (((state = 'failed':::public.vmm_state) AND (failure_reason IS NOT NULL)) OR ((state != 'failed':::public.vmm_state) AND (failure_reason IS NULL)))\\nCONSTRAINT NAME: failure_reason_iff_failed\\n\")} }), 4: UndoFinished, 5: UndoFinished, 6: UndoFinished, 7: UndoFinished, 8: UndoFinished, 9: UndoFinished, 10: UndoFinished, 11: UndoFinished, 12: UndoFinished, 13: UndoFinished, 14: UndoFinished, 15: UndoFinished, 16: UndoFinished, 17: UndoFinished, 18: UndoFinished, 19: UndoFinished, 20: UndoFinished, 21: UndoFinished, 22: UndoFinished, 23: Failed(InjectedError), 24: Succeeded(Null)} }, kind: Err(SagaResultErr { error_node_name: \"ensure_running\", error_source: InjectedError, undo_failure: Some((\"vmm_record\", PermanentFailure { source_error: Object {\"message\": String(\"undo action attempt 1: Internal Error: database error (kind = CheckViolation): failed to satisfy CHECK constraint (((state = 'failed':::public.vmm_state) AND (failure_reason IS NOT NULL)) OR ((state != 'failed':::public.vmm_state) AND (failure_reason IS NULL)))\\nCONSTRAINT NAME: failure_reason_iff_failed\\n\")} })) }) }"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.22583902Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.22585872Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.226450401Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.226508241Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.226522721Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.226538801Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.226575451Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.226593762Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.226609452Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.226639752Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.226905992Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.226947772Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.226961442Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.227111242Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.227129602Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.227147942Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.227161552Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.227174732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.227187732Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.227204592Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.227220042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.227235922Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.227250313Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.227263453Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.227275843Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.227435213Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.227449083Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.227461053Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229248246Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229304156Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229320876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229336486Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229372926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229391566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229597206Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229638106Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229652876Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229794616Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229831416Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229854306Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229872427Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229886407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229899337Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229912567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229929187Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229946817Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229963267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229976607Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.229995437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230010247Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230027437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230219047Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230236327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230250277Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230265367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230281697Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230302507Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230317407Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230332917Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230348857Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230431447Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230445357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230458777Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230471327Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230486437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230503827Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230517227Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230531088Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230549448Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230562598Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230578218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230594148Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230607788Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230624548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230639258Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230652588Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.230666398Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"config":"#\n# Oso configuration for Omicron\n# This file is augmented by generated snippets.\n#\n\n#\n# ACTOR TYPES AND BASIC RULES\n#\n\n# `AnyActor` includes both authenticated and unauthenticated users.\nactor AnyActor {}\n\n# An `AuthenticatedActor` has an identity in the system. All of our operations\n# today require that an actor be authenticated.\nactor AuthenticatedActor {}\n\n# For any resource, `actor` can perform action `action` on it if they're\n# authenticated and their role(s) give them the corresponding permission on that\n# resource.\nallow(actor: AnyActor, action: Action, resource) if\n actor.authenticated and\n has_permission(actor.authn_actor.unwrap(), action.to_perm(), resource);\n\n# Define role relationships\nhas_role(actor: AuthenticatedActor, role: String, resource: Resource)\n\tif resource.has_role(actor, role);\n\n#\n# ROLES AND PERMISSIONS IN THE FLEET/SILO/PROJECT HIERARCHY\n#\n# We define the following permissions for most resources in the system:\n#\n# - \"create_child\": required to create child resources (of any type)\n#\n# - \"list_children\": required to list child resources (of all types) of a\n# resource\n#\n# - \"modify\": required to modify or delete a resource\n#\n# - \"read\": required to read a resource\n#\n# We define the following predefined roles for only a few high-level resources:\n# the Fleet (see below), Silo, Organization, and Project. The specific roles\n# are oriented around intended use-cases:\n#\n# - \"admin\": has all permissions on the resource\n#\n# - \"collaborator\": has \"read\", \"list_children\", and \"create_child\", plus\n# the \"admin\" role for child resources. The idea is that if you're an\n# Organization Collaborator, you have full control over the Projects within\n# the Organization, but you cannot modify or delete the Organization itself.\n#\n# - \"viewer\": has \"read\" and \"list_children\" on a resource\n#\n# Below the Project level, permissions are granted via roles at the Project\n# level. For example, for someone to be able to create, modify, or delete any\n# Instances, they must be granted project.collaborator, which means they can\n# create, modify, or delete _all_ resources in the Project.\n#\n# The complete set of predefined roles:\n#\n# - fleet.admin (superuser for the whole system)\n# - fleet.collaborator (can manage Silos)\n# - fleet.viewer (can read most non-siloed resources in the system)\n# - silo.admin (superuser for the silo)\n# - silo.collaborator (can create and own Organizations; grants project.admin on all projects)\n# - silo.limited-collaborator (grants project.limited-collaborator on all projects)\n# - silo.viewer (can read most resources within the Silo; grants project.viewer)\n# - organization.admin (complete control over an organization)\n# - organization.collaborator (can manage Projects)\n# - organization.viewer (can read most resources within the Organization)\n# - project.admin (complete control over a Project)\n# - project.collaborator (can manage all resources within the Project, including networking)\n# - project.limited-collaborator (can manage compute resources, but not networking resources)\n# - project.viewer (can read most resources within the Project)\n#\n# Outside the Silo/Organization/Project hierarchy, we (currently) treat most\n# resources as nested under Fleet or else a synthetic resource (see below). We\n# do not yet support role assignments on anything other than Fleet, Silo,\n# Organization, or Project.\n#\n\n# \"Fleet\" is a global singleton representing the whole system. The name comes\n# from the idea described in RFD 24, but it's not quite right. This probably\n# should be more like \"Region\" or \"AvailabilityZone\". The precise boundaries\n# have not yet been figured out.\nresource Fleet {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\troles = [\n\t # Roles that can be attached by users\n\t \"admin\",\n\t \"collaborator\",\n\t \"viewer\",\n\n\t # Internal-only roles\n\t \"external-authenticator\"\n\t];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n}\n\n# For fleets specifically, roles can be conferred by roles on the user's Silo.\n# Note that certain Actors may not ever have any roles assigned to them, like\n# SCIM Actors.\nhas_role(actor: AuthenticatedActor, role: String, _: Fleet) if\n\tsilo_role in actor.confers_fleet_role(role) and\n\thas_role(actor, silo_role, actor.silo.unwrap());\n\nresource Silo {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\n\t\"create_child\" if \"collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Permissions implied by roles on this resource's parent (Fleet). Fleet\n\t# privileges allow a user to see and potentially administer the Silo,\n\t# but they do not give anyone permission to look at anything inside the\n\t# Silo. To achieve this, we use permission rules here. (If we granted\n\t# Fleet administrators _roles_ on the Silo, then those would cascade\n\t# into the Silo as well.)\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"collaborator\" on \"parent_fleet\";\n\n\t# external authenticator has to create silo users\n\t\"list_children\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", silo: Silo)\n\tif silo.fleet = fleet;\n\n# As a special case, all authenticated users can read their own Silo. That's\n# not quite the same as having the \"viewer\" role. For example, they cannot list\n# Organizations in the Silo.\n#\n# One reason this is necessary is because if an unprivileged user tries to\n# create an Organization using \"POST /organizations\", they should get back a 403\n# (which implies they're able to see /organizations, which is essentially seeing\n# the Silo itself) rather than a 404. This behavior isn't a hard constraint\n# (i.e., you could reasonably get a 404 for an API you're not allowed to call).\n# Nor is the implementation (i.e., we could special-case this endpoint somehow).\n# But granting this permission is the simplest way to keep this endpoint's\n# behavior consistent with the rest of the API.\n#\n# This rule is also used to determine if a user can list the identity providers\n# in the Silo (which they should be able to), since that's predicated on being\n# able to read the Silo.\n#\n# It's unclear what else would break if users couldn't see their own Silo.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif actor.is_user and silo in actor.silo;\n\nresource Project {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\troles = [ \"admin\", \"collaborator\", \"limited-collaborator\", \"viewer\" ];\n\n\t# Roles implied by other roles on this resource\n\t# Role hierarchy: admin > collaborator > limited-collaborator > viewer\n\t#\n\t# The \"limited-collaborator\" role can create/modify non-networking\n\t# resources (instances, disks, etc.) but cannot create/modify networking\n\t# infrastructure (VPCs, subnets, routers, internet gateways).\n\t# See nexus/authz-macros for InProjectLimited vs InProjectFull.\n\t\"viewer\" if \"limited-collaborator\";\n\t\"limited-collaborator\" if \"collaborator\";\n\t\"collaborator\" if \"admin\";\n\n\t# Permissions granted directly by roles on this resource\n\t\"list_children\" if \"viewer\";\n\t\"read\" if \"viewer\";\n\t\"create_child\" if \"limited-collaborator\";\n\t\"modify\" if \"admin\";\n\n\t# Roles implied by roles on this resource's parent (Silo)\n\trelations = { parent_silo: Silo };\n\t\"admin\" if \"collaborator\" on \"parent_silo\";\n\t\"limited-collaborator\" if \"limited-collaborator\" on \"parent_silo\";\n\t\"viewer\" if \"viewer\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", project: Project)\n\tif project.silo = silo;\n\n#\n# GENERAL RESOURCES OUTSIDE THE SILO/PROJECT HIERARCHY\n#\n# Many resources use snippets of Polar generated by the `authz_resource!` Rust\n# macro. Some resources require custom Polar code. Those appear here.\n#\n\nresource Certificate {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Fleet-level and silo-level roles both grant privileges on certificates.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", certificate: Certificate)\n\tif certificate.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", certificate: Certificate)\n\tif certificate.silo.fleet = fleet;\n\nresource SiloUser {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\t# Fleet and Silo administrators can manage a Silo's users. This is one\n\t# of the only areas of Silo configuration that Fleet Administrators have\n\t# permissions on.\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"read\" on \"parent_fleet\";\n\t\"read\" if \"read\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", user: SiloUser)\n\tif user.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", user: SiloUser)\n\tif user.silo.fleet = fleet;\n\n# authenticated actors have all permissions on themselves\nhas_permission(actor: AuthenticatedActor, _perm: String, silo_user: SiloUser)\n if actor.equals_silo_user(silo_user);\n\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_user and silo_user.silo in actor.silo;\n\nresource SiloGroup {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"read\",\n\t \"create_child\",\n\t];\n\n\trelations = { parent_silo: Silo };\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\t\"read\" if \"read\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", group: SiloGroup)\n\tif group.silo = silo;\n\nresource SshKey {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { silo_user: SiloUser };\n\n\t\"read\" if \"read\" on \"silo_user\";\n}\n# We want to allow the user to modify the ssh key but disallow a SCIM IdP token\n# from doing the same.\nhas_permission(actor: AuthenticatedActor, \"modify\", ssh_key: SshKey)\n\tif actor.is_user and has_permission(actor, \"modify\", ssh_key.silo_user);\nhas_relation(user: SiloUser, \"silo_user\", ssh_key: SshKey)\n\tif ssh_key.silo_user = user;\n\nresource IdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", identity_provider: IdentityProvider)\n\tif identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: IdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource SamlIdentityProvider {\n\tpermissions = [\n\t \"read\",\n\t \"modify\",\n\t \"create_child\",\n\t \"list_children\",\n\t];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_silo\";\n\t\"list_children\" if \"viewer\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges on identity providers.\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", saml_identity_provider: SamlIdentityProvider)\n\tif saml_identity_provider.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SamlIdentityProvider)\n\tif collection.silo.fleet = fleet;\n\nresource ScimClientBearerToken {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n # necessary to authenticate SCIM actors\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_silo\";\n\t\"modify\" if \"admin\" on \"parent_silo\";\n\n\t# Fleet-level roles also grant privileges for SCIM client tokens.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token: ScimClientBearerToken)\n\tif scim_client_bearer_token.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerToken)\n\tif collection.silo.fleet = fleet;\n\n\n#\n# SYNTHETIC RESOURCES OUTSIDE THE SILO HIERARCHY\n#\n# The resources here do not correspond to anything that appears explicitly in\n# the API or is stored in the database. These are used either at the top level\n# of the API path (e.g., \"/v1/system/ip-pools\") or as an implementation detail of the system\n# (in the case of console sessions and \"Database\"). The policies are\n# either statically-defined in this file or driven by role assignments on the\n# Fleet. None of these resources defines their own roles.\n#\n\n# Describes the quiesce state of a particular Nexus instance.\n#\n# These authz checks must not require the database. We grant this directly to\n# callers of the internal API.\nresource QuiesceState {\n\tpermissions = [ \"read\", \"modify\" ];\n}\nhas_permission(USER_INTERNAL_API: AuthenticatedActor, \"read\", _q: QuiesceState);\nhas_permission(\n USER_INTERNAL_API: AuthenticatedActor,\n \"modify\",\n _q: QuiesceState\n);\n\n# Describes the policy for reading and modifying DNS configuration\n# (both internal and external)\nresource DnsConfig {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t# \"external-authenticator\" requires these permissions because that's the\n\t# context that Nexus uses when creating and deleting Silos. These\n\t# operations necessarily need to read and modify DNS configuration.\n\t\"read\" if \"external-authenticator\" on \"parent_fleet\";\n\t\"modify\" if \"external-authenticator\" on \"parent_fleet\";\n\t# \"admin\" on the parent fleet also gets these permissions, primarily for\n\t# the test suite.\n\t\"read\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", dns_config: DnsConfig)\n\tif dns_config.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource BlueprintConfig {\n\tpermissions = [\n\t \"list_children\", # list blueprints\n\t \"create_child\", # create blueprint\n\t \"read\", # read the current target\n\t \"modify\", # change the current target\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", list: BlueprintConfig)\n\tif list.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/update/trust-roots\" in the API\nresource UpdateTrustRootList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: UpdateTrustRootList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for accessing blueprints\nresource TargetReleaseConfig {\n\tpermissions = [\n\t \"read\", # read the current target release\n\t \"modify\", # change the current target release\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", resource: TargetReleaseConfig)\n\tif resource.fleet = fleet;\n\n# Describes the policy for reading and modifying low-level inventory\nresource Inventory {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", inventory: Inventory)\n\tif inventory.fleet = fleet;\n\n# Describes the policy for accessing \"/v1/system/ip-pools\" in the API\nresource IpPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the IP Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list IP Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", ip_pool_list: IpPoolList)\n\tif ip_pool_list.fleet = fleet;\n\n# Any authenticated user can create a child of a provided IP Pool.\n# This is necessary to use the pools when provisioning instances.\nhas_permission(actor: AuthenticatedActor, \"create_child\", ip_pool: IpPool)\n\tif actor.is_user and silo in actor.silo and silo.fleet = ip_pool.fleet;\n\n# Describes the policy for accessing \"/v1/multicast-groups\" in the API\n# Groups are created when the first instance joins and deleted when the last leaves.\nresource MulticastGroupList {\n\tpermissions = [ \"list_children\" ];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet Viewers can list multicast groups\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group_list: MulticastGroupList)\n\tif multicast_group_list.fleet = fleet;\n\n# Any authenticated user can list multicast groups in their fleet.\n# This enables silo users to discover groups for attaching instances,\n# without requiring the Fleet::Viewer role.\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group_list: MulticastGroupList)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group_list.fleet;\n\n# MulticastGroup is a fleet-level discovery resource.\n# Join/leave authorization is gated by Instance::Modify, not the group itself.\nresource MulticastGroup {\n\tpermissions = [ \"read\", \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", multicast_group: MulticastGroup)\n\tif multicast_group.fleet = fleet;\n\n# Any authenticated user can read multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"read\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Any authenticated user can list members of multicast groups in their fleet\nhas_permission(actor: AuthenticatedActor, \"list_children\", multicast_group: MulticastGroup)\n\tif actor.is_user and silo in actor.silo and silo.fleet = multicast_group.fleet;\n\n# Describes the policy for reading and writing the audit log\nresource AuditLog {\n\tpermissions = [\n\t \"list_children\", # retrieve audit log\n\t \"create_child\", # create audit log entry\n\t];\n\n\trelations = { parent_fleet: Fleet };\n\n\t# Fleet viewers can read the audit log\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\n# Any actor should be able to write to the audit log because we need to be able\n# to write to the log from any request, authenticated or not. Audit log writes\n# are always a byproduct of other operations: there are no endpoints that allow\n# the user to write to the log deliberately. Note we use AuthenticatedActor\n# because we don't really mean unauthenticated -- in the case of login\n# operations, we use the external authenticator actor that creates the session\n# to authorize the audit log write.\nhas_permission(_actor: AuthenticatedActor, \"create_child\", _audit_log: AuditLog);\n\nhas_relation(fleet: Fleet, \"parent_fleet\", audit_log: AuditLog)\n\tif audit_log.fleet = fleet;\n\n# Describes the policy for creating and managing web console sessions.\nresource ConsoleSessionList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ConsoleSessionList)\n\tif collection.fleet = fleet;\n\n# Allow silo admins to delete and list user sessions\nresource SiloUserSessionList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's sessions.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's sessions.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserSessionList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own sessions\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserSessionList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Allow silo admins to delete and list user access tokens\nresource SiloUserTokenList {\n permissions = [ \"modify\", \"list_children\" ];\n relations = { parent_silo: Silo };\n\n # A silo admin can modify (e.g., delete) a user's tokens.\n \"modify\" if \"admin\" on \"parent_silo\";\n\n # A silo admin can list a user's tokens.\n \"list_children\" if \"admin\" on \"parent_silo\";\n}\nhas_relation(silo: Silo, \"parent_silo\", authn_list: SiloUserTokenList)\n if authn_list.silo_user.silo = silo;\n\n# give users 'modify' and 'list_children' on their own tokens\nhas_permission(actor: AuthenticatedActor, \"modify\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\nhas_permission(actor: AuthenticatedActor, \"list_children\", authn_list: SiloUserTokenList)\n if actor.equals_silo_user(authn_list.silo_user);\n\n# Describes the policy for creating and managing device authorization requests.\nresource DeviceAuthRequestList {\n\tpermissions = [ \"create_child\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"create_child\" if \"external-authenticator\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: DeviceAuthRequestList)\n\tif collection.fleet = fleet;\n\n# Describes the policy for creating and managing trust quorum configurations\n# This may change in a multirack future to a per rack parent\nresource TrustQuorumConfig {\n permissions = [ \"read\", \"modify\" ];\n\trelations = { parent_fleet: Fleet };\n\t\"read\" if \"viewer\" on \"parent_fleet\";\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", config: TrustQuorumConfig)\n\tif config.rack.fleet = fleet;\n\n# Describes the policy for creating and managing Silo certificates\nresource SiloCertificateList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Both Fleet and Silo administrators can see and modify the Silo's\n\t# certificates.\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloCertificateList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloCertificateList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo identity providers\nresource SiloIdentityProviderList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the identity providers in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's identity provider\n\t# configuration. This is one of the only areas of Silo configuration\n\t# that Fleet Administrators have permissions on. This is also one of\n\t# the only cases where we need to look two levels up the hierarchy to\n\t# see if somebody has the right permission. For most other things,\n\t# permissions cascade down the hierarchy so we only need to look at the\n\t# parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloIdentityProviderList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloIdentityProviderList)\n\tif collection.silo.fleet = fleet;\n\n# Describes the policy for creating and managing Silo users (mostly intended for\n# API-managed users)\nresource SiloUserList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the users in the\n\t# Silo) can see the users in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's users. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloUserList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloUserList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on users.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_user: SiloUser)\n if actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_user_list: SiloUserList)\n\tif actor.is_scim_idp and silo_user_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_user: SiloUser)\n\tif actor.is_scim_idp and silo_user.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_user_list: SiloUserList)\n if actor.is_scim_idp and silo_user_list.silo in actor.silo;\n\n# Describes the policy for creating and managing Silo groups (mostly intended\n# for API-managed groups)\nresource SiloGroupList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Everyone who can read the Silo (which includes all the groups in the\n\t# Silo) can see the groups in it.\n\t\"list_children\" if \"read\" on \"parent_silo\";\n\n\t# Fleet and Silo administrators can manage the Silo's groups. This is\n\t# one of the only areas of Silo configuration that Fleet Administrators\n\t# have permissions on. This is also one of the few cases (so far) where\n\t# we need to look two levels up the hierarchy to see if somebody has the\n\t# right permission. For most other things, permissions cascade down the\n\t# hierarchy so we only need to look at the parent.\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", collection: SiloGroupList)\n\tif collection.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: SiloGroupList)\n\tif collection.silo.fleet = fleet;\n\n# Grant SCIM IdP actors the permissions they need on groups.\nhas_permission(actor: AuthenticatedActor, \"read\", silo_group: SiloGroup)\n if actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"create_child\", silo_group_list: SiloGroupList)\n\tif actor.is_scim_idp and silo_group_list.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"modify\", silo_group: SiloGroup)\n\tif actor.is_scim_idp and silo_group.silo in actor.silo;\nhas_permission(actor: AuthenticatedActor, \"list_children\", silo_group_list: SiloGroupList)\n if actor.is_scim_idp and silo_group_list.silo in actor.silo;\n\n# These rules grants the external authenticator role the permissions it needs to\n# read silo users and modify their sessions. This is necessary for login to\n# work.\nhas_permission(actor: AuthenticatedActor, \"read\", silo: Silo)\n\tif has_role(actor, \"external-authenticator\", silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", user: SiloUser)\n\tif has_role(actor, \"external-authenticator\", user.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"read\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", group: SiloGroup)\n\tif has_role(actor, \"external-authenticator\", group.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\nhas_permission(actor: AuthenticatedActor, \"modify\", session: ConsoleSession)\n\tif has_role(actor, \"external-authenticator\", session.fleet);\n\n# All authenticated users can read and delete device authn requests because\n# by necessity these operations happen before we've figured out what user (or\n# even Silo) the device auth is associated with. Any user can claim a device\n# auth request with the right user code (that's how it works) -- it's the user\n# code and associated logic that prevents unauthorized access here.\nhas_permission(actor: AuthenticatedActor, \"read\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\nhas_permission(actor: AuthenticatedActor, \"modify\", _device_auth: DeviceAuthRequest)\n if actor.is_user;\n\nhas_permission(actor: AuthenticatedActor, \"read\", device_token: DeviceAccessToken)\n\tif has_role(actor, \"external-authenticator\", device_token.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", identity_provider: IdentityProvider)\n\tif has_role(actor, \"external-authenticator\", identity_provider.silo.fleet);\n\nhas_permission(actor: AuthenticatedActor, \"read\", saml_identity_provider: SamlIdentityProvider)\n\tif has_role(actor, \"external-authenticator\", saml_identity_provider.silo.fleet);\n\n# Describes the policy for who can access the internal database.\nresource Database {\n\tpermissions = [\n\t # \"query\" is required to perform any query against the database,\n\t # whether a read or write query. This is checked when an operation\n\t # checks out a database connection from the connection pool.\n\t #\n\t # Any authenticated user gets this permission. There's generally\n\t # some other authz check involved in the database query. For\n\t # example, if you're querying the database to \"read\" a \"Project\", we\n\t # should also be checking that. So why do we do this at all? It's\n\t # a belt-and-suspenders measure so that if we somehow introduced an\n\t # unauthenticated code path that hits the database, it cannot be\n\t # used to DoS the database because we won't allow the operation to\n\t # make the query. (As long as the code path _is_ authenticated, we\n\t # can use throttling mechanisms to prevent DoS.)\n\t \"query\",\n\n\t # \"modify\" is required to populate database data that's delivered\n\t # with the system. It should also be required for schema changes,\n\t # when we support those. This is separate from \"query\" so that we\n\t # cannot accidentally invoke these code paths from API calls and\n\t # other general functions.\n\t \"modify\"\n\t];\n}\n\n# All authenticated users have the \"query\" permission on the database.\nhas_permission(_actor: AuthenticatedActor, \"query\", _resource: Database);\n\n# The \"db-init\" user is the only one with the \"modify\" permission.\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"modify\", _resource: Database);\nhas_permission(USER_DB_INIT: AuthenticatedActor, \"create_child\", _resource: IpPoolList);\n# It also has \"admin\" on the internal silo to populate it with built-in resources.\n# TODO-completeness: actually limit to just internal silo and not all silos\nhas_role(USER_DB_INIT: AuthenticatedActor, \"admin\", _silo: Silo);\n\n# Allow the internal API admin permissions on all silos.\nhas_role(USER_INTERNAL_API: AuthenticatedActor, \"admin\", _silo: Silo);\n\nresource WebhookSecret {\n\tpermissions = [ \"read\", \"modify\" ];\n\trelations = { parent_alert_receiver: AlertReceiver };\n\n\t\"read\" if \"read\" on \"parent_alert_receiver\";\n\t\"modify\" if \"modify\" on \"parent_alert_receiver\";\n}\n\nhas_relation(rx: AlertReceiver, \"parent_alert_receiver\", secret: WebhookSecret)\n\tif secret.alert_receiver = rx;\n\nresource AlertClassList {\n\tpermissions = [ \"list_children\" ];\n\trelations = { parent_fleet: Fleet };\n\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\n\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: AlertClassList)\n\tif collection.fleet = fleet;\n\nresource ScimClientBearerTokenList {\n\tpermissions = [ \"create_child\", \"list_children\" ];\n\trelations = { parent_silo: Silo, parent_fleet: Fleet };\n\n\t# Silo-level roles grant privileges for SCIM client tokens.\n # These are all admin because being able to create these tokens would allow\n # a user to grant themselves admin by modifying group membership through SCIM calls\n\t\"create_child\" if \"admin\" on \"parent_silo\";\n\t\"list_children\" if \"admin\" on \"parent_silo\";\n\n # Fleet-level roles also grant privileges for SCIM client tokens, for\n # configuration before silo admins are present.\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\t\"list_children\" if \"admin\" on \"parent_fleet\";\n}\nhas_relation(silo: Silo, \"parent_silo\", scim_client_bearer_token_list: ScimClientBearerTokenList)\n\tif scim_client_bearer_token_list.silo = silo;\nhas_relation(fleet: Fleet, \"parent_fleet\", collection: ScimClientBearerTokenList)\n\tif collection.silo.fleet = fleet;\n\n# VpcList is a synthetic resource for controlling VPC creation.\n# Unlike other project resources, VPC creation requires the full \"collaborator\"\n# role rather than \"limited-collaborator\", enforcing the networking restriction.\n# This allows organizations to restrict who can reconfigure the network topology\n# while still allowing users with limited-collaborator to work with compute\n# resources (instances, disks, etc.) within the existing network.\nresource VpcList {\n\tpermissions = [ \"list_children\", \"create_child\" ];\n\n\trelations = { containing_project: Project };\n\n\t\"list_children\" if \"read\" on \"containing_project\";\n\t\"create_child\" if \"collaborator\" on \"containing_project\";\n}\nhas_relation(project: Project, \"containing_project\", collection: VpcList)\n\tif collection.project = project;\n\n# Describes the policy for accessing \"/v1/system/subnet-pools\" in the API\nresource SubnetPoolList {\n\tpermissions = [\n\t \"list_children\",\n\t \"modify\",\n\t \"create_child\",\n\t];\n\n\t# Fleet Administrators can create or modify the Subnet Pools list.\n\trelations = { parent_fleet: Fleet };\n\t\"modify\" if \"admin\" on \"parent_fleet\";\n\t\"create_child\" if \"admin\" on \"parent_fleet\";\n\n\t# Fleet Viewers can list External Subnet Pools\n\t\"list_children\" if \"viewer\" on \"parent_fleet\";\n}\nhas_relation(fleet: Fleet, \"parent_fleet\", subnet_pool_list: SubnetPoolList)\n\tif subnet_pool_list.fleet = fleet;\n\n\n\n resource Disk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Disk)\n if child.project = parent;\n \n\n resource Snapshot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Snapshot)\n if child.project = parent;\n \n\n resource ProjectImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ProjectImage)\n if child.project = parent;\n \n\n resource AffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AffinityGroup)\n if child.project = parent;\n \n\n resource AntiAffinityGroup {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: AntiAffinityGroup)\n if child.project = parent;\n \n\n resource Instance {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Instance)\n if child.project = parent;\n \n\n resource IpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: IpPool)\n if child.fleet = fleet;\n \n\n resource InstanceNetworkInterface {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Instance\n };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InstanceNetworkInterface)\n if has_relation(project, \"containing_project\", child.instance);\n\n has_relation(parent: Instance, \"parent\", child: InstanceNetworkInterface)\n if child.instance = parent;\n \n\n resource Vpc {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: Vpc)\n if child.project = parent;\n \n\n resource VpcRouter {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcRouter)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcRouter)\n if child.vpc = parent;\n \n\n resource InternetGateway {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGateway)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: InternetGateway)\n if child.vpc = parent;\n \n\n resource InternetGatewayIpPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpPool)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpPool)\n if child.internet_gateway = parent;\n \n\n resource InternetGatewayIpAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: InternetGateway\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: InternetGatewayIpAddress)\n if has_relation(project, \"containing_project\", child.internet_gateway);\n\n has_relation(parent: InternetGateway, \"parent\", child: InternetGatewayIpAddress)\n if child.internet_gateway = parent;\n \n\n resource RouterRoute {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: VpcRouter\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: RouterRoute)\n if has_relation(project, \"containing_project\", child.vpc_router);\n\n has_relation(parent: VpcRouter, \"parent\", child: RouterRoute)\n if child.vpc_router = parent;\n \n\n resource VpcSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = {\n containing_project: Project,\n parent: Vpc\n };\n\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"collaborator\" on \"containing_project\";\n \"create_child\" if \"collaborator\" on \"containing_project\";\n }\n\n has_relation(project: Project, \"containing_project\", child: VpcSubnet)\n if has_relation(project, \"containing_project\", child.vpc);\n\n has_relation(parent: Vpc, \"parent\", child: VpcSubnet)\n if child.vpc = parent;\n \n\n resource FloatingIp {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: FloatingIp)\n if child.project = parent;\n \n\n resource ExternalSubnet {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_project: Project };\n \"list_children\" if \"viewer\" on \"containing_project\";\n \"read\" if \"viewer\" on \"containing_project\";\n \"modify\" if \"limited-collaborator\" on \"containing_project\";\n \"create_child\" if \"limited-collaborator\" on \"containing_project\";\n }\n\n has_relation(parent: Project, \"containing_project\", child: ExternalSubnet)\n if child.project = parent;\n \n\n resource Image {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: Image)\n if child.silo = parent;\n \n\n resource SiloImage {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n\n relations = { containing_silo: Silo };\n \"list_children\" if \"viewer\" on \"containing_silo\";\n \"read\" if \"viewer\" on \"containing_silo\";\n \"modify\" if \"collaborator\" on \"containing_silo\";\n \"create_child\" if \"collaborator\" on \"containing_silo\";\n }\n\n has_relation(parent: Silo, \"containing_silo\", child: SiloImage)\n if child.silo = parent;\n \n\n resource AddressLot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AddressLot)\n if child.fleet = fleet;\n \n\n resource Blueprint {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Blueprint)\n if child.fleet = fleet;\n \n\n resource LoopbackAddress {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: LoopbackAddress)\n if child.fleet = fleet;\n \n\n\n resource ConsoleSession {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: ConsoleSession)\n if child.fleet = fleet;\n \n\n resource DeviceAuthRequest {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAuthRequest)\n if child.fleet = fleet;\n \n\n resource DeviceAccessToken {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: DeviceAccessToken)\n if child.fleet = fleet;\n \n\n resource PhysicalDisk {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: PhysicalDisk)\n if child.fleet = fleet;\n \n\n resource Rack {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Rack)\n if child.fleet = fleet;\n \n\n\n\n\n\n resource SupportBundle {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SupportBundle)\n if child.fleet = fleet;\n \n\n\n\n resource Sled {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Sled)\n if child.fleet = fleet;\n \n\n resource SubnetPool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: SubnetPool)\n if child.fleet = fleet;\n \n\n resource TufRepo {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufRepo)\n if child.fleet = fleet;\n \n\n resource TufArtifact {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufArtifact)\n if child.fleet = fleet;\n \n\n resource TufTrustRoot {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: TufTrustRoot)\n if child.fleet = fleet;\n \n\n resource Alert {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Alert)\n if child.fleet = fleet;\n \n\n resource AlertReceiver {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: AlertReceiver)\n if child.fleet = fleet;\n \n\n\n resource Zpool {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Zpool)\n if child.fleet = fleet;\n \n\n resource Service {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: Service)\n if child.fleet = fleet;\n \n\n resource UserBuiltin {\n permissions = [\n \"list_children\",\n \"modify\",\n \"read\",\n \"create_child\",\n ];\n \n relations = { parent_fleet: Fleet };\n \"list_children\" if \"viewer\" on \"parent_fleet\";\n \"read\" if \"viewer\" on \"parent_fleet\";\n \"modify\" if \"admin\" on \"parent_fleet\";\n \"create_child\" if \"admin\" on \"parent_fleet\";\n }\n has_relation(fleet: Fleet, \"parent_fleet\", child: UserBuiltin)\n if child.fleet = fleet;\n \n\n"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.241870695Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.241953155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.242504146Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.24505042Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.24509155Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.245687831Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.246671132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"N004 succeeded"} {"msg":"recording saga event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.246735132Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"event_type":"Succeeded(Null)","node_id":"4","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.250056687Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"InternetGateway { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }, key: 70896d62-0cf5-462e-9237-181c5c1a02e5, lookup_type: ByName(\"default\") }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.250118367Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.250155328Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.250178118Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.250507548Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.25171357Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.25175557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"new_state":"done","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.254350674Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.254397294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.254413234Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.254430654Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.254454384Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.254475474Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.254594294Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.25816679Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.25821779Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.258666421Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.261167954Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_name":"start-instance-update","saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"success"} {"msg":"tracked saga has finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.261215214Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","component":"SagaQuiesceHandle","component":"NexusQuiesceHandle","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.261239184Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"saga_id":"d8cf7521-fb5f-4bb3-9b24-838b4ac622ac","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: d8cf7521-fb5f-4bb3-9b24-838b4ac622ac, saga_log: SagaLog { saga_id: d8cf7521-fb5f-4bb3-9b24-838b4ac622ac, unwinding: false, events: [N003 started, N003 succeeded, N000 started, N000 succeeded, N001 started, N001 succeeded, N002 started, N002 succeeded, N004 started, N004 succeeded], node_status: {0: Succeeded(String(\"f229495f-ac1c-4337-a308-4a53f5ce7a62\")), 1: Succeeded(Object {\"locked_gen\": Number(2), \"updater_id\": String(\"f229495f-ac1c-4337-a308-4a53f5ce7a62\")}), 2: Succeeded(Null), 3: Succeeded(Null), 4: Succeeded(Null)} }, kind: Ok(SagaResultOk { saga_output: Null, node_outputs: {\"saga_instance_lock_id\": String(\"f229495f-ac1c-4337-a308-4a53f5ce7a62\"), \"state\": Null, \"updater_lock\": Object {\"locked_gen\": Number(2), \"updater_id\": String(\"f229495f-ac1c-4337-a308-4a53f5ce7a62\")}} }) }"} {"msg":"all instance checks complete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.261285115Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","pruned_instances":0,"update_sagas_queued":1,"total_incomplete":0,"total_failed":1,"total_completed":1,"total_instances":1} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.261309795Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"failed_checks\":{\"no_such_instance\":1},\"incomplete_checks\":{},\"instance_states\":{},\"pruned_instances\":0,\"total_instances\":1,\"update_sagas_queued\":1}","iteration":2,"elapsed":"1.457607068s"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.261337315Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.261360345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.261385905Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.26474601Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.268084165Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.275090566Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"InternetGateway { parent: Vpc { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: a610ecce-68b9-4289-be6f-a2ed8db852d9, lookup_type: ById(a610ecce-68b9-4289-be6f-a2ed8db852d9) }, key: 70896d62-0cf5-462e-9237-181c5c1a02e5, lookup_type: ByName(\"default\") }","action":"Read","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"successful lookup of siloed resource \"InternetGateway\" using built-in user","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.275190796Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.275636906Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:62019/vpc-routes","method":"PUT"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.276007807Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.276096437Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.276155547Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.276235267Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.276653208Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.277250579Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vpc-routes","method":"PUT","req_id":"2d529df5-9711-4c46-8a98-e351c10b57dd","remote_addr":"[::1]:45779","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"determined request API version","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.277292029Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vpc-routes","method":"PUT","req_id":"2d529df5-9711-4c46-8a98-e351c10b57dd","remote_addr":"[::1]:45779","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"41.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.27793479Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"uri":"/vpc-routes","method":"PUT","req_id":"2d529df5-9711-4c46-8a98-e351c10b57dd","remote_addr":"[::1]:45779","local_addr":"[::1]:62019","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":703,"response_code":204} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.27818414Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:62019/vpc-routes\", status: 204, headers: {\"x-request-id\": \"2d529df5-9711-4c46-8a98-e351c10b57dd\", \"date\": \"Wed, 10 Jun 2026 21:35:13 GMT\"} })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.278309861Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":4,"elapsed":"1.458161328s"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.285600882Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.285653432Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.285766052Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.286587533Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.288241096Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.288391926Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.288870557Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.291819231Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.291867031Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.291933461Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.292593112Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.296222818Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.304641281Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"waiting for instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.304693261Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.304711821Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.304746691Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"2a447d09-a449-48c4-bcb9-8479c8b619d3","resource_type":"Project","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.304765671Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.304782391Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.305117622Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"batch interval expired, but no samples to insert","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.305866913Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.307295915Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":1} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.309366178Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.309421678Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.309749699Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.311229301Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-5110-4000-8000-000000000000","resource_type":"Silo","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.311297951Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.311368051Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.312092652Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.315914278Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.316018218Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.316038648Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.316462559Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.325768363Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {(Fleet, 001de000-1334-4000-8000-000000000000, \"admin\"), (Silo, 001de000-5110-4000-8000-000000000000, \"admin\")} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.333242355Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: 2a447d09-a449-48c4-bcb9-8479c8b619d3, lookup_type: ById(2a447d09-a449-48c4-bcb9-8479c8b619d3) }, key: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, lookup_type: ById(4c2abea8-5821-43d1-a5cf-4a678fe2e566) }","action":"Read","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.333297575Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.333319345Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.333652335Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-10T21:35:13.334524107Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.334556567Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-10T21:35:13.335018387Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"instance 4c2abea8-5821-43d1-a5cf-4a678fe2e566 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.338828923Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 4c2abea8-5821-43d1-a5cf-4a678fe2e566, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-10T21:34:53.125005Z, time_modified: 2026-06-10T21:34:53.125005Z, time_deleted: None }, project_id: 2a447d09-a449-48c4-bcb9-8479c8b619d3, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-10T21:34:53.125005Z, state_generation: Generation(Generation(40)), propolis_id: None, dst_propolis_id: None, migration_id: None, ncpus: InstanceCpuCount(InstanceCpuCount(2)), memory: ByteCount(ByteCount(2147483648)), hostname: \"test-instance\", updater_id: None, updater_gen: Generation(Generation(3)), nexus_state: NoVmm, time_last_auto_restarted: None, auto_restart: InstanceAutoRestart { policy: None, cooldown: None }, boot_disk_id: None, intended_state: Stopped, cpu_platform: None, enable_jumbo_frames: false }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-10T21:35:13.342841179Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-10T21:34:53.125005Z, generation: Generation(Generation(40)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"4c2abea8-5821-43d1-a5cf-4a678fe2e566"} {"msg":"saga SagaId(95fb03ba-6bcd-4120-ab8b-3b04939451f0) is stuck!","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-10T21:35:13.372643515Z","hostname":"w-01KTSP8KMP4786G1TJCHG73XJY","pid":10292}